diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 6776f1ec57d..8f07de4286b 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -49,6 +49,9 @@
"packages/google-cloud-functions": "2.2.3",
"packages/google-cloud-gaming": "3.1.3",
"packages/google-cloud-gkebackup": "0.2.2",
+ "packages/google-cloud-gkeconnect-gateway": "2.0.5",
+ "packages/google-cloud-gkehub": "3.2.2",
+ "packages/google-cloud-gkemulticloud": "0.1.4",
"packages/google-cloud-documentai": "6.1.0",
"packages/google-cloud-filestore": "2.2.0",
"packages/google-cloud-gkeconnect-gateway": "2.0.5",
@@ -66,6 +69,7 @@
"packages/google-cloud-memcache": "2.1.4",
"packages/google-cloud-metastore": "3.1.2",
"packages/google-cloud-monitoring": "3.0.3",
+ "packages/google-cloud-networkconnectivity": "2.2.0",
"packages/google-cloud-networkmanagement": "2.3.1",
"packages/google-cloud-networksecurity": "1.0.2",
"packages/google-cloud-notebooks": "2.1.2",
diff --git a/packages/google-cloud-networkconnectivity/.OwlBot.yaml b/packages/google-cloud-networkconnectivity/.OwlBot.yaml
new file mode 100644
index 00000000000..ce8bd2302e6
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.OwlBot.yaml
@@ -0,0 +1,21 @@
+# 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/cloud/networkconnectivity/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-networkconnectivity/$1
+
diff --git a/packages/google-cloud-networkconnectivity/.eslintignore b/packages/google-cloud-networkconnectivity/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-networkconnectivity/.eslintrc.json b/packages/google-cloud-networkconnectivity/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-networkconnectivity/.gitattributes b/packages/google-cloud-networkconnectivity/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.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/packages/google-cloud-networkconnectivity/.gitignore b/packages/google-cloud-networkconnectivity/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.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/packages/google-cloud-networkconnectivity/.jsdoc.js b/packages/google-cloud-networkconnectivity/.jsdoc.js
new file mode 100644
index 00000000000..7d9f7fc1c9c
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2022 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 2022 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/network-connectivity',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-networkconnectivity/.mocharc.js b/packages/google-cloud-networkconnectivity/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2022 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/packages/google-cloud-networkconnectivity/.nycrc b/packages/google-cloud-networkconnectivity/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.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/packages/google-cloud-networkconnectivity/.prettierignore b/packages/google-cloud-networkconnectivity/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-networkconnectivity/.prettierrc.js b/packages/google-cloud-networkconnectivity/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2022 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/packages/google-cloud-networkconnectivity/.repo-metadata.json b/packages/google-cloud-networkconnectivity/.repo-metadata.json
new file mode 100644
index 00000000000..5f42a3a8399
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/network-connectivity/latest",
+ "api_id": "networkconnectivity.googleapis.com",
+ "distribution_name": "@google-cloud/network-connectivity",
+ "release_level": "stable",
+ "default_version": "v1",
+ "language": "nodejs",
+ "name_pretty": "Network Connectivity Center",
+ "repo": "googleapis/google-cloud-node",
+ "product_documentation": "https://cloud.google.com/network-connectivity/docs",
+ "requires_billing": true,
+ "name": "network-connectivity",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "api_shortname": "networkconnectivity",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-networkconnectivity/CHANGELOG.md b/packages/google-cloud-networkconnectivity/CHANGELOG.md
new file mode 100644
index 00000000000..54604025c3c
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/CHANGELOG.md
@@ -0,0 +1,168 @@
+# Changelog
+
+## [2.2.0](https://github.com/googleapis/nodejs-network-connectivity/compare/v2.1.2...v2.2.0) (2022-11-15)
+
+
+### Features
+
+* Add policy based routing" will work ([#160](https://github.com/googleapis/nodejs-network-connectivity/issues/160)) ([d6b9ce3](https://github.com/googleapis/nodejs-network-connectivity/commit/d6b9ce3a71b644fe957ace9ce571c50bd89b0781))
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#161](https://github.com/googleapis/nodejs-network-connectivity/issues/161)) ([fe9160f](https://github.com/googleapis/nodejs-network-connectivity/commit/fe9160f050ee1f05fcdc3d119df4af86872e73c6))
+* Preserve default values in x-goog-request-params header ([#153](https://github.com/googleapis/nodejs-network-connectivity/issues/153)) ([67f13e1](https://github.com/googleapis/nodejs-network-connectivity/commit/67f13e161733f86ce61af222f91222cc481cc149))
+* Regenerated protos JS and TS definitions ([#164](https://github.com/googleapis/nodejs-network-connectivity/issues/164)) ([dfbaab3](https://github.com/googleapis/nodejs-network-connectivity/commit/dfbaab3ded7b89bf7a79da8aca28637e73298b54))
+
+## [2.1.2](https://github.com/googleapis/nodejs-network-connectivity/compare/v2.1.1...v2.1.2) (2022-09-01)
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#151](https://github.com/googleapis/nodejs-network-connectivity/issues/151)) ([123398d](https://github.com/googleapis/nodejs-network-connectivity/commit/123398deb9a18c61099525315a4709672211cd49))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-network-connectivity/issues/1553)) ([#150](https://github.com/googleapis/nodejs-network-connectivity/issues/150)) ([e925e35](https://github.com/googleapis/nodejs-network-connectivity/commit/e925e358aee02125f9bfcf6f0bab54a41c848695))
+
+## [2.1.1](https://github.com/googleapis/nodejs-network-connectivity/compare/v2.1.0...v2.1.1) (2022-08-23)
+
+
+### Bug Fixes
+
+* better support for fallback mode ([#146](https://github.com/googleapis/nodejs-network-connectivity/issues/146)) ([76610c8](https://github.com/googleapis/nodejs-network-connectivity/commit/76610c8df1cf6ff75f473c06beb615d9957ecb72))
+* change import long to require ([#147](https://github.com/googleapis/nodejs-network-connectivity/issues/147)) ([c7a03e5](https://github.com/googleapis/nodejs-network-connectivity/commit/c7a03e515b22a9f00fc2bb3cbfc0b947e84513af))
+* remove pip install statements ([#1546](https://github.com/googleapis/nodejs-network-connectivity/issues/1546)) ([#149](https://github.com/googleapis/nodejs-network-connectivity/issues/149)) ([df4946c](https://github.com/googleapis/nodejs-network-connectivity/commit/df4946c655356a71a4e6e4468bf19cace01b3e12))
+
+## [2.1.0](https://github.com/googleapis/nodejs-network-connectivity/compare/v2.0.0...v2.1.0) (2022-06-30)
+
+
+### Features
+
+* support regapic LRO ([#140](https://github.com/googleapis/nodejs-network-connectivity/issues/140)) ([1a369b4](https://github.com/googleapis/nodejs-network-connectivity/commit/1a369b4bec661a9c69f26ca7440b85c94c82b9ca))
+
+## [2.0.0](https://github.com/googleapis/nodejs-network-connectivity/compare/v1.5.0...v2.0.0) (2022-05-19)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#135)
+* make v1 default service (#121)
+
+### Features
+
+* make v1 default service ([#121](https://github.com/googleapis/nodejs-network-connectivity/issues/121)) ([7d98433](https://github.com/googleapis/nodejs-network-connectivity/commit/7d98433347dbc19014c0e9650c3955d9d956bfbf))
+
+
+### Build System
+
+* update library to use Node 12 ([#135](https://github.com/googleapis/nodejs-network-connectivity/issues/135)) ([07336d8](https://github.com/googleapis/nodejs-network-connectivity/commit/07336d8ec230f2f890648cbe3a5ec092381c1e5e))
+
+## [1.5.0](https://github.com/googleapis/nodejs-network-connectivity/compare/v1.4.2...v1.5.0) (2022-02-08)
+
+
+### Features
+
+* Add LocationMetadata message feat: Add RoutingVPC.required_for_new_site_to_site_data_transfer_spokes field docs: Update comments to reflect that spokes can now be created with data transfer disabled ([#114](https://github.com/googleapis/nodejs-network-connectivity/issues/114)) ([4cbecd9](https://github.com/googleapis/nodejs-network-connectivity/commit/4cbecd92941e66f1ba7f72879a3b36e23b4b4de2))
+
+### [1.4.2](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.4.1...v1.4.2) (2021-11-23)
+
+
+### Bug Fixes
+
+* Mark a couple networkconnectivity API fields as required, to match implemented behavior ([308e54f](https://www.github.com/googleapis/nodejs-network-connectivity/commit/308e54fbb9785ac4c77afd833f05c9f9683211ea))
+
+### [1.4.1](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.4.0...v1.4.1) (2021-09-08)
+
+
+### Bug Fixes
+
+* **build:** update branch to main ([#81](https://www.github.com/googleapis/nodejs-network-connectivity/issues/81)) ([7c3a917](https://www.github.com/googleapis/nodejs-network-connectivity/commit/7c3a9179e1b2a770c6cdd16d8cf935c99b5cc9eb))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.3.0...v1.4.0) (2021-08-25)
+
+
+### Features
+
+* Add hub.routing_vpcs field docs: Specify that site_to_site_data_transfer field must be set to true ([cfc63fa](https://www.github.com/googleapis/nodejs-network-connectivity/commit/cfc63fa4dcb74f99d0dae8df45530a1139ac7c36))
+* Remove ActivateSpoke and DeactivateSpoke methods ([#78](https://www.github.com/googleapis/nodejs-network-connectivity/issues/78)) ([cfc63fa](https://www.github.com/googleapis/nodejs-network-connectivity/commit/cfc63fa4dcb74f99d0dae8df45530a1139ac7c36))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.2.1...v1.3.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#76](https://www.github.com/googleapis/nodejs-network-connectivity/issues/76)) ([9ef53f9](https://www.github.com/googleapis/nodejs-network-connectivity/commit/9ef53f9ecd0fc572824984b9f948a7919384ffe8))
+
+### [1.2.1](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.2.0...v1.2.1) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#74](https://www.github.com/googleapis/nodejs-network-connectivity/issues/74)) ([e8c6f45](https://www.github.com/googleapis/nodejs-network-connectivity/commit/e8c6f45241e83e35dfddb22c708336b1d2e1c0a2))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.1.6...v1.2.0) (2021-07-30)
+
+
+### Features
+
+* Add files for Network Connectivity v1 API. ([#68](https://www.github.com/googleapis/nodejs-network-connectivity/issues/68)) ([5028509](https://www.github.com/googleapis/nodejs-network-connectivity/commit/5028509d9a0ec649596b11a60906d23e68ff684d))
+
+### [1.1.6](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.1.5...v1.1.6) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#64](https://www.github.com/googleapis/nodejs-network-connectivity/issues/64)) ([dea7b0e](https://www.github.com/googleapis/nodejs-network-connectivity/commit/dea7b0e623a99483d05fec6a1b7ea422f686e86c))
+
+### [1.1.5](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.1.4...v1.1.5) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#62](https://www.github.com/googleapis/nodejs-network-connectivity/issues/62)) ([7156523](https://www.github.com/googleapis/nodejs-network-connectivity/commit/7156523ebe8d49457d2d57b77db048ce3ab47d4f))
+
+### [1.1.4](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.1.3...v1.1.4) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#59](https://www.github.com/googleapis/nodejs-network-connectivity/issues/59)) ([3f81f41](https://www.github.com/googleapis/nodejs-network-connectivity/commit/3f81f4139e316a97a76b5482478d44d5a8cc173a))
+
+### [1.1.3](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.1.2...v1.1.3) (2021-06-23)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#54](https://www.github.com/googleapis/nodejs-network-connectivity/issues/54)) ([598fb23](https://www.github.com/googleapis/nodejs-network-connectivity/commit/598fb232c03e46a169b898be134261eed6948c97))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.1.1...v1.1.2) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#47](https://www.github.com/googleapis/nodejs-network-connectivity/issues/47)) ([bc0944e](https://www.github.com/googleapis/nodejs-network-connectivity/commit/bc0944e2320a10abc9e2a8bb36ff48bff904c9c3))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.1.0...v1.1.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#39](https://www.github.com/googleapis/nodejs-network-connectivity/issues/39)) ([2564f8e](https://www.github.com/googleapis/nodejs-network-connectivity/commit/2564f8e86d03e6c4b98f46c8b9ed2be35ad6550a))
+* use require() to load JSON protos ([#42](https://www.github.com/googleapis/nodejs-network-connectivity/issues/42)) ([9632da3](https://www.github.com/googleapis/nodejs-network-connectivity/commit/9632da36d550a4775b34d4ab54300eae00960b41))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-network-connectivity/compare/v1.0.0...v1.1.0) (2021-03-02)
+
+
+### Features
+
+* Add state field in resources docs: Minor changes ([#11](https://www.github.com/googleapis/nodejs-network-connectivity/issues/11)) ([22193b9](https://www.github.com/googleapis/nodejs-network-connectivity/commit/22193b9cb8e767f0b93a17c353f4cb1b38acf317))
+
+## 1.0.0 (2021-02-16)
+
+
+### ⚠ BREAKING CHANGES
+
+* initial stub of library
+
+### Features
+
+* add initial samples and tests ([#2](https://www.github.com/googleapis/nodejs-network-connectivity/issues/2)) ([c94271a](https://www.github.com/googleapis/nodejs-network-connectivity/commit/c94271a424a855cb085aeb2874f7e8bf2edc84a1))
+* initial stub of library ([c1d7ea0](https://www.github.com/googleapis/nodejs-network-connectivity/commit/c1d7ea0d5ae0b2f816c340d46b508a6eb33e7d83))
diff --git a/packages/google-cloud-networkconnectivity/CODE_OF_CONDUCT.md b/packages/google-cloud-networkconnectivity/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/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/packages/google-cloud-networkconnectivity/CONTRIBUTING.md b/packages/google-cloud-networkconnectivity/CONTRIBUTING.md
new file mode 100644
index 00000000000..7707fbddfd7
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Network Connectivity Center API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+
+## Running the tests
+
+1. [Prepare your environment for Node.js setup][setup].
+
+1. Install dependencies:
+
+ npm install
+
+1. Run the tests:
+
+ # Run unit tests.
+ npm test
+
+ # Run sample integration tests.
+ npm run samples-test
+
+ # Run all system tests.
+ npm run system-test
+
+1. Lint (and maybe fix) any changes:
+
+ npm run fix
+
+[setup]: https://cloud.google.com/nodejs/docs/setup
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=networkconnectivity.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-networkconnectivity/LICENSE b/packages/google-cloud-networkconnectivity/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/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/packages/google-cloud-networkconnectivity/README.md b/packages/google-cloud-networkconnectivity/README.md
new file mode 100644
index 00000000000..2b47464e64f
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/README.md
@@ -0,0 +1,186 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Network Connectivity Center: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-cloud/network-connectivity.svg)](https://www.npmjs.org/package/@google-cloud/network-connectivity)
+
+
+
+
+Networkconnectivity client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-networkconnectivity/CHANGELOG.md).
+
+* [Network Connectivity Center Node.js Client API Reference][client-docs]
+* [Network Connectivity Center Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-networkconnectivity](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-networkconnectivity)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Network Connectivity Center 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/network-connectivity
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+
+// eslint-disable-next-line node/no-missing-require
+const {HubServiceClient} = require('@google-cloud/network-connectivity');
+
+// TODO(developer): replace with your prefered project ID.
+// const projectId = 'my-project'
+// const location = 'my-location'
+
+// Creates a client
+// eslint-disable-next-line no-unused-vars
+const client = new HubServiceClient();
+
+async function listNetworkHubs() {
+ const [hubs] = await client.listHubs({
+ parent: `projects/${projectId}/locations/${location}`,
+ });
+ console.info(hubs);
+}
+listNetworkHubs();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Hub_service.create_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.create_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.create_hub.js,samples/README.md) |
+| Hub_service.create_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.create_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.create_spoke.js,samples/README.md) |
+| Hub_service.delete_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.delete_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.delete_hub.js,samples/README.md) |
+| Hub_service.delete_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.delete_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.delete_spoke.js,samples/README.md) |
+| Hub_service.get_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.get_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.get_hub.js,samples/README.md) |
+| Hub_service.get_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.get_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.get_spoke.js,samples/README.md) |
+| Hub_service.list_hubs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.list_hubs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.list_hubs.js,samples/README.md) |
+| Hub_service.list_spokes | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.list_spokes.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.list_spokes.js,samples/README.md) |
+| Hub_service.update_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.update_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.update_hub.js,samples/README.md) |
+| Hub_service.update_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/hub_service.update_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/hub_service.update_spoke.js,samples/README.md) |
+| Policy_based_routing_service.create_policy_based_route | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.create_policy_based_route.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.create_policy_based_route.js,samples/README.md) |
+| Policy_based_routing_service.delete_policy_based_route | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.delete_policy_based_route.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.delete_policy_based_route.js,samples/README.md) |
+| Policy_based_routing_service.get_policy_based_route | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.get_policy_based_route.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.get_policy_based_route.js,samples/README.md) |
+| Policy_based_routing_service.list_policy_based_routes | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.list_policy_based_routes.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1/policy_based_routing_service.list_policy_based_routes.js,samples/README.md) |
+| Hub_service.create_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.create_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.create_hub.js,samples/README.md) |
+| Hub_service.create_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.create_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.create_spoke.js,samples/README.md) |
+| Hub_service.delete_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.delete_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.delete_hub.js,samples/README.md) |
+| Hub_service.delete_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.delete_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.delete_spoke.js,samples/README.md) |
+| Hub_service.get_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.get_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.get_hub.js,samples/README.md) |
+| Hub_service.get_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.get_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.get_spoke.js,samples/README.md) |
+| Hub_service.list_hubs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.list_hubs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.list_hubs.js,samples/README.md) |
+| Hub_service.list_spokes | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.list_spokes.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.list_spokes.js,samples/README.md) |
+| Hub_service.update_hub | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.update_hub.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.update_hub.js,samples/README.md) |
+| Hub_service.update_spoke | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.update_spoke.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v1alpha1/hub_service.update_spoke.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/test/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/test/quickstart.js,samples/README.md) |
+
+
+
+The [Network Connectivity Center 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://nodejs.org/en/about/releases/).
+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/network-connectivity@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/google-cloud-node/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/google-cloud-node/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/network-connectivity/latest
+[product-docs]: https://cloud.google.com/network-connectivity/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=networkconnectivity.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-networkconnectivity/linkinator.config.json b/packages/google-cloud-networkconnectivity/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/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/packages/google-cloud-networkconnectivity/package.json b/packages/google-cloud-networkconnectivity/package.json
new file mode 100644
index 00000000000..b7fa4934233
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/package.json
@@ -0,0 +1,71 @@
+{
+ "name": "@google-cloud/network-connectivity",
+ "version": "2.2.0",
+ "description": "Networkconnectivity client for Node.js",
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-networkconnectivity",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google network-connectivity",
+ "networkconnectivity",
+ "hub service"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.3.5",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.1",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.9.0",
+ "webpack-cli": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-networkconnectivity"
+}
diff --git a/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/common.proto b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/common.proto
new file mode 100644
index 00000000000..282cf34758e
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/common.proto
@@ -0,0 +1,64 @@
+// Copyright 2022 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.cloud.networkconnectivity.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1;networkconnectivity";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.networkconnectivity.v1";
+option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1";
+option ruby_package = "Google::Cloud::NetworkConnectivity::V1";
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/InterconnectAttachment"
+ pattern: "projects/{project}/regions/{region}/interconnectAttachments/{resource_id}"
+};
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/Network"
+ pattern: "projects/{project}/global/networks/{resource_id}"
+};
+
+// Represents the metadata of the long-running operation.
+message OperationMetadata {
+ // Output only. The time the operation was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the operation finished running.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Server-defined resource path for the target of the operation.
+ string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the verb executed by the operation.
+ string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Human-readable status of the operation, if any.
+ string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Identifies whether the user has requested cancellation
+ // of the operation. Operations that have been cancelled successfully
+ // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
+ // corresponding to `Code.CANCELLED`.
+ bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. API version used to start the operation.
+ string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/hub.proto b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/hub.proto
new file mode 100644
index 00000000000..44cf09ae0a6
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/hub.proto
@@ -0,0 +1,694 @@
+// Copyright 2022 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.cloud.networkconnectivity.v1;
+
+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/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1;networkconnectivity";
+option java_multiple_files = true;
+option java_outer_classname = "HubProto";
+option java_package = "com.google.cloud.networkconnectivity.v1";
+option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1";
+option ruby_package = "Google::Cloud::NetworkConnectivity::V1";
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/VpnTunnel"
+ pattern: "projects/{project}/regions/{region}/vpnTunnels/{resource_id}"
+};
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/Instance"
+ pattern: "projects/{project}/zones/{zone}/instances/{instance}"
+};
+
+// Network Connectivity Center is a hub-and-spoke abstraction for network
+// connectivity management in Google Cloud. It reduces operational complexity
+// through a simple, centralized connectivity management model.
+service HubService {
+ option (google.api.default_host) = "networkconnectivity.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists the Network Connectivity Center hubs associated with a given project.
+ rpc ListHubs(ListHubsRequest) returns (ListHubsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/global}/hubs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets details about a Network Connectivity Center hub.
+ rpc GetHub(GetHubRequest) returns (Hub) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/global/hubs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new Network Connectivity Center hub in the specified project.
+ rpc CreateHub(CreateHubRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/global}/hubs"
+ body: "hub"
+ };
+ option (google.api.method_signature) = "parent,hub,hub_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Hub"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the description and/or labels of a Network Connectivity Center
+ // hub.
+ rpc UpdateHub(UpdateHubRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{hub.name=projects/*/locations/global/hubs/*}"
+ body: "hub"
+ };
+ option (google.api.method_signature) = "hub,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Hub"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Deletes a Network Connectivity Center hub.
+ rpc DeleteHub(DeleteHubRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/global/hubs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Lists the Network Connectivity Center spokes in a specified project and
+ // location.
+ rpc ListSpokes(ListSpokesRequest) returns (ListSpokesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/spokes"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets details about a Network Connectivity Center spoke.
+ rpc GetSpoke(GetSpokeRequest) returns (Spoke) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/spokes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a Network Connectivity Center spoke.
+ rpc CreateSpoke(CreateSpokeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/spokes"
+ body: "spoke"
+ };
+ option (google.api.method_signature) = "parent,spoke,spoke_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Spoke"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the parameters of a Network Connectivity Center spoke.
+ rpc UpdateSpoke(UpdateSpokeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{spoke.name=projects/*/locations/*/spokes/*}"
+ body: "spoke"
+ };
+ option (google.api.method_signature) = "spoke,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Spoke"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Deletes a Network Connectivity Center spoke.
+ rpc DeleteSpoke(DeleteSpokeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/spokes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+}
+
+// Supported features for a location
+enum LocationFeature {
+ // No publicly supported feature in this location
+ LOCATION_FEATURE_UNSPECIFIED = 0;
+
+ // Site-to-cloud spokes are supported in this location
+ SITE_TO_CLOUD_SPOKES = 1;
+
+ // Site-to-site spokes are supported in this location
+ SITE_TO_SITE_SPOKES = 2;
+}
+
+// The State enum represents the lifecycle stage of a Network Connectivity
+// Center resource.
+enum State {
+ // No state information available
+ STATE_UNSPECIFIED = 0;
+
+ // The resource's create operation is in progress
+ CREATING = 1;
+
+ // The resource is active
+ ACTIVE = 2;
+
+ // The resource's Delete operation is in progress
+ DELETING = 3;
+
+ // The resource's Update operation is in progress
+ UPDATING = 6;
+}
+
+// A Network Connectivity Center hub is a collection of spokes. A single hub
+// can contain spokes from multiple regions. However, if any of a hub's spokes
+// use the data transfer feature, the resources associated with those spokes
+// must all reside in the same VPC network. Spokes that do not use data
+// transfer can be associated with any VPC network in your project.
+message Hub {
+ option (google.api.resource) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ pattern: "projects/{project}/locations/global/hubs/{hub}"
+ };
+
+ // Immutable. The name of the hub. Hub names must be unique. They use the
+ // following form:
+ // `projects/{project_number}/locations/global/hubs/{hub_id}`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. The time the hub was created.
+ google.protobuf.Timestamp create_time = 2
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the hub was last updated.
+ google.protobuf.Timestamp update_time = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional labels in key:value format. For more information about labels, see
+ // [Requirements for
+ // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
+ map labels = 4;
+
+ // An optional description of the hub.
+ string description = 5;
+
+ // Output only. The Google-generated UUID for the hub. This value is unique
+ // across all hub resources. If a hub is deleted and another with the same
+ // name is created, the new hub is assigned a different unique_id.
+ string unique_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current lifecycle state of this hub.
+ State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The VPC networks associated with this hub's spokes.
+ //
+ // This field is read-only. Network Connectivity Center automatically
+ // populates it based on the set of spokes attached to the hub.
+ repeated RoutingVPC routing_vpcs = 10;
+}
+
+// RoutingVPC contains information about the VPC networks associated
+// with the spokes of a Network Connectivity Center hub.
+message RoutingVPC {
+ // The URI of the VPC network.
+ string uri = 1 [
+ (google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
+ ];
+
+ // Output only. If true, indicates that this VPC network is currently
+ // associated with spokes that use the data transfer feature (spokes where the
+ // site_to_site_data_transfer field is set to true). If you create new spokes
+ // that use data transfer, they must be associated with this VPC network. At
+ // most, one VPC network will have this field set to true.
+ bool required_for_new_site_to_site_data_transfer_spokes = 2
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A Network Connectivity Center spoke represents a connection between your
+// Google Cloud network resources and a non-Google-Cloud network.
+//
+// When you create a spoke, you associate it with a hub. You must also identify
+// a value for exactly one of the following fields:
+//
+// * linked_vpn_tunnels
+// * linked_interconnect_attachments
+// * linked_router_appliance_instances
+message Spoke {
+ option (google.api.resource) = {
+ type: "networkconnectivity.googleapis.com/Spoke"
+ pattern: "projects/{project}/locations/{location}/spokes/{spoke}"
+ };
+
+ // Immutable. The name of the spoke. Spoke names must be unique. They use the
+ // following form:
+ // `projects/{project_number}/locations/{region}/spokes/{spoke_id}`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. The time the spoke was created.
+ google.protobuf.Timestamp create_time = 2
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the spoke was last updated.
+ google.protobuf.Timestamp update_time = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional labels in key:value format. For more information about labels, see
+ // [Requirements for
+ // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
+ map labels = 4;
+
+ // An optional description of the spoke.
+ string description = 5;
+
+ // Immutable. The name of the hub that this spoke is attached to.
+ string hub = 6 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ }
+ ];
+
+ // VPN tunnels that are associated with the spoke.
+ LinkedVpnTunnels linked_vpn_tunnels = 17;
+
+ // VLAN attachments that are associated with the spoke.
+ LinkedInterconnectAttachments linked_interconnect_attachments = 18;
+
+ // Router appliance instances that are associated with the spoke.
+ LinkedRouterApplianceInstances linked_router_appliance_instances = 19;
+
+ // Output only. The Google-generated UUID for the spoke. This value is unique
+ // across all spoke resources. If a spoke is deleted and another with the same
+ // name is created, the new spoke is assigned a different unique_id.
+ string unique_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current lifecycle state of this spoke.
+ State state = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request for
+// [HubService.ListHubs][google.cloud.networkconnectivity.v1.HubService.ListHubs]
+// method.
+message ListHubsRequest {
+ // Required. The parent resource's name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of results per page that should be returned.
+ int32 page_size = 2;
+
+ // The page token.
+ string page_token = 3;
+
+ // An expression that filters the results listed in the response.
+ string filter = 4;
+
+ // Sort the results by a certain order.
+ string order_by = 5;
+}
+
+// Response for
+// [HubService.ListHubs][google.cloud.networkconnectivity.v1.HubService.ListHubs]
+// method.
+message ListHubsResponse {
+ // The requested hubs.
+ repeated Hub hubs = 1;
+
+ // The next pagination token in the List response. It should be used as
+ // page_token for the following request. An empty value means no more result.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request for
+// [HubService.GetHub][google.cloud.networkconnectivity.v1.HubService.GetHub]
+// method.
+message GetHubRequest {
+ // Required. The name of the hub resource to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ }
+ ];
+}
+
+// Request for
+// [HubService.CreateHub][google.cloud.networkconnectivity.v1.HubService.CreateHub]
+// method.
+message CreateHubRequest {
+ // Required. The parent resource.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. A unique identifier for the hub.
+ string hub_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The initial values for a new hub.
+ Hub hub = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A unique request ID (optional). If you specify this ID, you can
+ // use it in cases when you need to retry your request. When you need to
+ // retry, this ID lets the server know that it can ignore the request if it
+ // has already been completed. The server guarantees that for at least 60
+ // minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and
+ // the request times out. If you make the request again with the same request
+ // ID, the server can check to see whether the original operation
+ // was received. If it was, the server ignores the second request. This
+ // behavior prevents clients from mistakenly creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID, with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for
+// [HubService.UpdateHub][google.cloud.networkconnectivity.v1.HubService.UpdateHub]
+// method.
+message UpdateHubRequest {
+ // Optional. In the case of an update to an existing hub, field mask is used
+ // to specify the fields to be overwritten. The fields specified in the
+ // update_mask are relative to the resource, not the full request. A field is
+ // overwritten if it is in the mask. If the user does not provide a mask, then
+ // all fields are overwritten.
+ google.protobuf.FieldMask update_mask = 1
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The state that the hub should be in after the update.
+ Hub hub = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A unique request ID (optional). If you specify this ID, you can
+ // use it in cases when you need to retry your request. When you need to
+ // retry, this ID lets the server know that it can ignore the request if it
+ // has already been completed. The server guarantees that for at least 60
+ // minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and
+ // the request times out. If you make the request again with the same request
+ // ID, the server can check to see whether the original operation
+ // was received. If it was, the server ignores the second request. This
+ // behavior prevents clients from mistakenly creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID, with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request for
+// [HubService.DeleteHub][google.cloud.networkconnectivity.v1.HubService.DeleteHub].
+message DeleteHubRequest {
+ // Required. The name of the hub to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ }
+ ];
+
+ // Optional. A unique request ID (optional). If you specify this ID, you can
+ // use it in cases when you need to retry your request. When you need to
+ // retry, this ID lets the server know that it can ignore the request if it
+ // has already been completed. The server guarantees that for at least 60
+ // minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and
+ // the request times out. If you make the request again with the same request
+ // ID, the server can check to see whether the original operation
+ // was received. If it was, the server ignores the second request. This
+ // behavior prevents clients from mistakenly creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID, with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request for
+// [HubService.ListSpokes][google.cloud.networkconnectivity.v1.HubService.ListSpokes].
+message ListSpokesRequest {
+ // Required. The parent resource.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of results per page that should be returned.
+ int32 page_size = 2;
+
+ // The page token.
+ string page_token = 3;
+
+ // An expression that filters the results listed in the response.
+ string filter = 4;
+
+ // Sort the results by a certain order.
+ string order_by = 5;
+}
+
+// The response for
+// [HubService.ListSpokes][google.cloud.networkconnectivity.v1.HubService.ListSpokes].
+message ListSpokesResponse {
+ // The requested spokes.
+ repeated Spoke spokes = 1;
+
+ // The next pagination token in the List response. It should be used as
+ // page_token for the following request. An empty value means no more result.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// The request for
+// [HubService.GetSpoke][google.cloud.networkconnectivity.v1.HubService.GetSpoke].
+message GetSpokeRequest {
+ // Required. The name of the spoke resource.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Spoke"
+ }
+ ];
+}
+
+// The request for
+// [HubService.CreateSpoke][google.cloud.networkconnectivity.v1.HubService.CreateSpoke].
+message CreateSpokeRequest {
+ // Required. The parent resource.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. Unique id for the spoke to create.
+ string spoke_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The initial values for a new spoke.
+ Spoke spoke = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A unique request ID (optional). If you specify this ID, you can
+ // use it in cases when you need to retry your request. When you need to
+ // retry, this ID lets the server know that it can ignore the request if it
+ // has already been completed. The server guarantees that for at least 60
+ // minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and
+ // the request times out. If you make the request again with the same request
+ // ID, the server can check to see whether the original operation
+ // was received. If it was, the server ignores the second request. This
+ // behavior prevents clients from mistakenly creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID, with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for
+// [HubService.UpdateSpoke][google.cloud.networkconnectivity.v1.HubService.UpdateSpoke]
+// method.
+message UpdateSpokeRequest {
+ // Optional. In the case of an update to an existing spoke, field mask is used
+ // to specify the fields to be overwritten. The fields specified in the
+ // update_mask are relative to the resource, not the full request. A field is
+ // overwritten if it is in the mask. If the user does not provide a mask, then
+ // all fields are overwritten.
+ google.protobuf.FieldMask update_mask = 1
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The state that the spoke should be in after the update.
+ Spoke spoke = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A unique request ID (optional). If you specify this ID, you can
+ // use it in cases when you need to retry your request. When you need to
+ // retry, this ID lets the server know that it can ignore the request if it
+ // has already been completed. The server guarantees that for at least 60
+ // minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and
+ // the request times out. If you make the request again with the same request
+ // ID, the server can check to see whether the original operation
+ // was received. If it was, the server ignores the second request. This
+ // behavior prevents clients from mistakenly creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID, with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request for
+// [HubService.DeleteSpoke][google.cloud.networkconnectivity.v1.HubService.DeleteSpoke].
+message DeleteSpokeRequest {
+ // Required. The name of the spoke to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Spoke"
+ }
+ ];
+
+ // Optional. A unique request ID (optional). If you specify this ID, you can
+ // use it in cases when you need to retry your request. When you need to
+ // retry, this ID lets the server know that it can ignore the request if it
+ // has already been completed. The server guarantees that for at least 60
+ // minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and
+ // the request times out. If you make the request again with the same request
+ // ID, the server can check to see whether the original operation
+ // was received. If it was, the server ignores the second request. This
+ // behavior prevents clients from mistakenly creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID, with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A collection of Cloud VPN tunnel resources. These resources should be
+// redundant HA VPN tunnels that all advertise the same prefixes to Google
+// Cloud. Alternatively, in a passive/active configuration, all tunnels
+// should be capable of advertising the same prefixes.
+message LinkedVpnTunnels {
+ // The URIs of linked VPN tunnel resources.
+ repeated string uris = 1 [(google.api.resource_reference) = {
+ type: "compute.googleapis.com/VpnTunnel"
+ }];
+
+ // A value that controls whether site-to-site data transfer is enabled for
+ // these resources. Data transfer is available only in [supported
+ // locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).
+ bool site_to_site_data_transfer = 2;
+
+ // Output only. The VPC network where these VPN tunnels are located.
+ string vpc_network = 3 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
+ ];
+}
+
+// A collection of VLAN attachment resources. These resources should
+// be redundant attachments that all advertise the same prefixes to Google
+// Cloud. Alternatively, in active/passive configurations, all attachments
+// should be capable of advertising the same prefixes.
+message LinkedInterconnectAttachments {
+ // The URIs of linked interconnect attachment resources
+ repeated string uris = 1 [(google.api.resource_reference) = {
+ type: "compute.googleapis.com/InterconnectAttachment"
+ }];
+
+ // A value that controls whether site-to-site data transfer is enabled for
+ // these resources. Data transfer is available only in [supported
+ // locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).
+ bool site_to_site_data_transfer = 2;
+
+ // Output only. The VPC network where these VLAN attachments are located.
+ string vpc_network = 3 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
+ ];
+}
+
+// A collection of router appliance instances. If you configure multiple router
+// appliance instances to receive data from the same set of sites outside of
+// Google Cloud, we recommend that you associate those instances with the same
+// spoke.
+message LinkedRouterApplianceInstances {
+ // The list of router appliance instances.
+ repeated RouterApplianceInstance instances = 1;
+
+ // A value that controls whether site-to-site data transfer is enabled for
+ // these resources. Data transfer is available only in [supported
+ // locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).
+ bool site_to_site_data_transfer = 2;
+
+ // Output only. The VPC network where these router appliance instances are
+ // located.
+ string vpc_network = 3 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
+ ];
+}
+
+// A router appliance instance is a Compute Engine virtual machine (VM) instance
+// that acts as a BGP speaker. A router appliance instance is specified by the
+// URI of the VM and the internal IP address of one of the VM's network
+// interfaces.
+message RouterApplianceInstance {
+ // The URI of the VM.
+ string virtual_machine = 1 [(google.api.resource_reference) = {
+ type: "compute.googleapis.com/Instance"
+ }];
+
+ // The IP address on the VM to use for peering.
+ string ip_address = 3;
+}
+
+// Metadata about locations
+message LocationMetadata {
+ // List of supported features
+ repeated LocationFeature location_features = 1;
+}
diff --git a/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/policy_based_routing.proto b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/policy_based_routing.proto
new file mode 100644
index 00000000000..74c24bd3971
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1/policy_based_routing.proto
@@ -0,0 +1,338 @@
+// Copyright 2022 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.cloud.networkconnectivity.v1;
+
+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/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1;networkconnectivity";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyBasedRoutingProto";
+option java_package = "com.google.cloud.networkconnectivity.v1";
+option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1";
+option ruby_package = "Google::Cloud::NetworkConnectivity::V1";
+
+// Policy-Based Routing allows GCP customers to specify flexibile routing
+// policies for Layer 4 traffic traversing through the connected service.
+service PolicyBasedRoutingService {
+ option (google.api.default_host) = "networkconnectivity.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists PolicyBasedRoutes in a given project and location.
+ rpc ListPolicyBasedRoutes(ListPolicyBasedRoutesRequest) returns (ListPolicyBasedRoutesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/global}/policyBasedRoutes"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets details of a single PolicyBasedRoute.
+ rpc GetPolicyBasedRoute(GetPolicyBasedRouteRequest) returns (PolicyBasedRoute) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/global/policyBasedRoutes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new PolicyBasedRoute in a given project and location.
+ rpc CreatePolicyBasedRoute(CreatePolicyBasedRouteRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/global}/policyBasedRoutes"
+ body: "policy_based_route"
+ };
+ option (google.api.method_signature) = "parent,policy_based_route,policy_based_route_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "PolicyBasedRoute"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Deletes a single PolicyBasedRoute.
+ rpc DeletePolicyBasedRoute(DeletePolicyBasedRouteRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/global/policyBasedRoutes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+}
+
+// Policy Based Routes (PBR) are more powerful routes that allows GCP customers
+// to route their L4 network traffic based on not just destination IP, but also
+// source IP, protocol and more. A PBR always take precedence when it conflicts
+// with other types of routes.
+// Next id: 19
+message PolicyBasedRoute {
+ option (google.api.resource) = {
+ type: "networkconnectivity.googleapis.com/PolicyBasedRoute"
+ pattern: "projects/{project}/{location}/global/PolicyBasedRoutes/{policy_based_route}"
+ };
+
+ // VM instances to which this policy based route applies to.
+ message VirtualMachine {
+ // Optional. A list of VM instance tags to which this policy based route applies to.
+ // VM instances that have ANY of tags specified here will install this
+ // PBR.
+ repeated string tags = 1 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // InterconnectAttachment to which this route applies to.
+ message InterconnectAttachment {
+ // Optional. Cloud region to install this policy based route on interconnect
+ // attachment. Use `all` to install it on all interconnect attachments.
+ string region = 1 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Filter matches L4 traffic.
+ message Filter {
+ // The internet protocol version.
+ enum ProtocolVersion {
+ // Default value.
+ PROTOCOL_VERSION_UNSPECIFIED = 0;
+
+ // The PBR is for IPv4 internet protocol traffic.
+ IPV4 = 1;
+ }
+
+ // Optional. The IP protocol that this policy based route applies to. Valid values are
+ // 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
+ string ip_protocol = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The source IP range of outgoing packets that this policy based route
+ // applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
+ string src_range = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The destination IP range of outgoing packets that this policy based route
+ // applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
+ string dest_range = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Internet protocol versions this policy based route applies to. For this
+ // version, only IPV4 is supported.
+ ProtocolVersion protocol_version = 6 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Informational warning message.
+ message Warnings {
+ // Warning code for Policy Based Routing. Expect to add values in the
+ // future.
+ enum Code {
+ // Default value.
+ WARNING_UNSPECIFIED = 0;
+
+ // The policy based route is not active and functioning. Common causes are
+ // the dependent network was deleted or the resource project was turned
+ // off.
+ RESOURCE_NOT_ACTIVE = 1;
+
+ // The policy based route is being modified (e.g. created/deleted) at this
+ // time.
+ RESOURCE_BEING_MODIFIED = 2;
+ }
+
+ // Output only. A warning code, if applicable.
+ Code code = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Metadata about this warning in key: value format. The key should provides
+ // more detail on the warning being returned. For example, for warnings
+ // where there are no results in a list request for a particular zone, this
+ // key might be scope and the key value might be the zone name. Other
+ // examples might be a key indicating a deprecated resource and a suggested
+ // replacement.
+ map data = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A human-readable description of the warning code.
+ string warning_message = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+
+ // Target specifies network endpoints to which this policy based route applies
+ // to. If none of the target is specified, the PBR will be installed on all
+ // network endpoints (e.g. VMs, VPNs, and Interconnects) in the VPC.
+ oneof target {
+ // Optional. VM instances to which this policy based route applies to.
+ VirtualMachine virtual_machine = 18 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The interconnect attachments to which this route applies to.
+ InterconnectAttachment interconnect_attachment = 9 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ oneof next_hop {
+ // Optional. The IP of a global access enabled L4 ILB that should be the next hop to
+ // handle matching packets. For this version, only next_hop_ilb_ip is
+ // supported.
+ string next_hop_ilb_ip = 12 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Immutable. A unique name of the resource in the form of
+ // `projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. Time when the PolicyBasedRoute was created.
+ google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time when the PolicyBasedRoute was updated.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // User-defined labels.
+ map labels = 4;
+
+ // Optional. An optional description of this resource. Provide this field when you
+ // create the resource.
+ string description = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Fully-qualified URL of the network that this route applies to. e.g.
+ // projects/my-project/global/networks/my-network.
+ string network = 6 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "compute.googleapis.com/Network"
+ }
+ ];
+
+ // Required. The filter to match L4 traffic.
+ Filter filter = 10 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The priority of this policy based route. Priority is used to break ties in
+ // cases where there are more than one matching policy based routes found. In
+ // cases where multiple policy based routes are matched, the one with the
+ // lowest-numbered priority value wins. The default value is 1000. The
+ // priority value must be from 1 to 65535, inclusive.
+ int32 priority = 11 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. If potential misconfigurations are detected for this route,
+ // this field will be populated with warning messages.
+ repeated Warnings warnings = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Server-defined fully-qualified URL for this resource.
+ string self_link = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Type of this resource. Always networkconnectivity#policyBasedRoute for
+ // Policy Based Route resources.
+ string kind = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
+message ListPolicyBasedRoutesRequest {
+ // Required. The parent resource's name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of results per page that should be returned.
+ int32 page_size = 2;
+
+ // The page token.
+ string page_token = 3;
+
+ // A filter expression that filters the results listed in the response.
+ string filter = 4;
+
+ // Sort the results by a certain order.
+ string order_by = 5;
+}
+
+// Response for [PolicyBasedRouting.ListPolicyBasedRoutes][] method.
+message ListPolicyBasedRoutesResponse {
+ // Policy based routes to be returned.
+ repeated PolicyBasedRoute policy_based_routes = 1;
+
+ // The next pagination token in the List response. It should be used as
+ // page_token for the following request. An empty value means no more result.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request for [PolicyBasedRouting.GetPolicyBasedRoute][] method.
+message GetPolicyBasedRouteRequest {
+ // Required. Name of the PolicyBasedRoute resource to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/PolicyBasedRoute"
+ }
+ ];
+}
+
+// Request for [PolicyBasedRouting.CreatePolicyBasedRoute][] method.
+message CreatePolicyBasedRouteRequest {
+ // Required. The parent resource's name of the PolicyBasedRoute.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. Unique id for the Policy Based Route to create.
+ string policy_based_route_id = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Initial values for a new Policy Based Route.
+ PolicyBasedRoute policy_based_route = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for [PolicyBasedRouting.DeletePolicyBasedRoute][] method.
+message DeletePolicyBasedRouteRequest {
+ // Required. Name of the PolicyBasedRoute resource to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/PolicyBasedRoute"
+ }
+ ];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
diff --git a/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1alpha1/common.proto b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1alpha1/common.proto
new file mode 100644
index 00000000000..bdd9df63e95
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1alpha1/common.proto
@@ -0,0 +1,55 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.networkconnectivity.v1alpha1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1Alpha1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1alpha1;networkconnectivity";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.networkconnectivity.v1alpha1";
+option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1alpha1";
+option ruby_package = "Google::Cloud::NetworkConnectivity::V1alpha1";
+
+// Represents the metadata of the long-running operation.
+message OperationMetadata {
+ // Output only. The time the operation was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the operation finished running.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Server-defined resource path for the target of the operation.
+ string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the verb executed by the operation.
+ string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Human-readable status of the operation, if any.
+ string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Identifies whether the user has requested cancellation
+ // of the operation. Operations that have successfully been cancelled
+ // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
+ // corresponding to `Code.CANCELLED`.
+ bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. API version used to start the operation.
+ string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1alpha1/hub.proto b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1alpha1/hub.proto
new file mode 100644
index 00000000000..6f1b8eede07
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/protos/google/cloud/networkconnectivity/v1alpha1/hub.proto
@@ -0,0 +1,551 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.networkconnectivity.v1alpha1;
+
+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/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1Alpha1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1alpha1;networkconnectivity";
+option java_multiple_files = true;
+option java_outer_classname = "HubProto";
+option java_package = "com.google.cloud.networkconnectivity.v1alpha1";
+option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1alpha1";
+option ruby_package = "Google::Cloud::NetworkConnectivity::V1alpha1";
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/VpnTunnel"
+ pattern: "projects/{project}/regions/{region}/vpnTunnels/{resource_id}"
+};
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/InterconnectAttachment"
+ pattern: "projects/{project}/regions/{region}/interconnectAttachments/{resource_id}"
+};
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/Instance"
+ pattern: "projects/{project}/zones/{zone}/instances/{instance}"
+};
+
+// Network Connectivity Center is a hub-and-spoke abstraction for
+// network connectivity management in Google Cloud. It reduces
+// operational complexity through a simple, centralized connectivity management
+// model.
+service HubService {
+ option (google.api.default_host) = "networkconnectivity.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists Hubs in a given project and location.
+ rpc ListHubs(ListHubsRequest) returns (ListHubsResponse) {
+ option (google.api.http) = {
+ get: "/v1alpha1/{parent=projects/*/locations/global}/hubs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets details of a single Hub.
+ rpc GetHub(GetHubRequest) returns (Hub) {
+ option (google.api.http) = {
+ get: "/v1alpha1/{name=projects/*/locations/global/hubs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new Hub in a given project and location.
+ rpc CreateHub(CreateHubRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1alpha1/{parent=projects/*/locations/global}/hubs"
+ body: "hub"
+ };
+ option (google.api.method_signature) = "parent,hub,hub_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Hub"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the parameters of a single Hub.
+ rpc UpdateHub(UpdateHubRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1alpha1/{hub.name=projects/*/locations/global/hubs/*}"
+ body: "hub"
+ };
+ option (google.api.method_signature) = "hub,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Hub"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Deletes a single Hub.
+ rpc DeleteHub(DeleteHubRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1alpha1/{name=projects/*/locations/global/hubs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Lists Spokes in a given project and location.
+ rpc ListSpokes(ListSpokesRequest) returns (ListSpokesResponse) {
+ option (google.api.http) = {
+ get: "/v1alpha1/{parent=projects/*/locations/*}/spokes"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets details of a single Spoke.
+ rpc GetSpoke(GetSpokeRequest) returns (Spoke) {
+ option (google.api.http) = {
+ get: "/v1alpha1/{name=projects/*/locations/*/spokes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new Spoke in a given project and location.
+ rpc CreateSpoke(CreateSpokeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1alpha1/{parent=projects/*/locations/*}/spokes"
+ body: "spoke"
+ };
+ option (google.api.method_signature) = "parent,spoke,spoke_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Spoke"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the parameters of a single Spoke.
+ rpc UpdateSpoke(UpdateSpokeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1alpha1/{spoke.name=projects/*/locations/*/spokes/*}"
+ body: "spoke"
+ };
+ option (google.api.method_signature) = "spoke,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Spoke"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Deletes a single Spoke.
+ rpc DeleteSpoke(DeleteSpokeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1alpha1/{name=projects/*/locations/*/spokes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+}
+
+// Network Connectivity Center is a hub-and-spoke abstraction for
+// network connectivity management in Google Cloud. It reduces
+// operational complexity through a simple, centralized connectivity management
+// model. Following is the resource message of a hub.
+message Hub {
+ option (google.api.resource) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ pattern: "projects/{project}/locations/global/hubs/{hub}"
+ };
+
+ // Immutable. The name of a Hub resource.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Time when the Hub was created.
+ google.protobuf.Timestamp create_time = 2;
+
+ // Time when the Hub was updated.
+ google.protobuf.Timestamp update_time = 3;
+
+ // User-defined labels.
+ map labels = 4;
+
+ // Short description of the hub resource.
+ string description = 5;
+
+ // Output only. A list of the URIs of all attached spokes
+ repeated string spokes = 6 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Spoke"
+ }
+ ];
+
+ // Output only. Google-generated UUID for this resource. This is unique across all Hub
+ // resources. If a Hub resource is deleted and another with the same name is
+ // created, it gets a different unique_id.
+ string unique_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current lifecycle state of this Hub.
+ State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A Spoke is an abstraction of a network attachment being attached
+// to a Hub. A Spoke can be underlying a VPN tunnel, a
+// VLAN (interconnect) attachment, a Router appliance, etc.
+message Spoke {
+ option (google.api.resource) = {
+ type: "networkconnectivity.googleapis.com/Spoke"
+ pattern: "projects/{project}/locations/{location}/spokes/{spoke}"
+ };
+
+ // Immutable. The name of a Spoke resource.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // The time when the Spoke was created.
+ google.protobuf.Timestamp create_time = 2;
+
+ // The time when the Spoke was updated.
+ google.protobuf.Timestamp update_time = 3;
+
+ // User-defined labels.
+ map labels = 4;
+
+ // Short description of the spoke resource
+ string description = 5;
+
+ // The resource URL of the hub resource that the spoke is attached to
+ string hub = 6 [(google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ }];
+
+ // The URIs of linked VPN tunnel resources
+ repeated string linked_vpn_tunnels = 12 [(google.api.resource_reference) = {
+ type: "compute.googleapis.com/VpnTunnel"
+ }];
+
+ // The URIs of linked interconnect attachment resources
+ repeated string linked_interconnect_attachments = 13 [(google.api.resource_reference) = {
+ type: "compute.googleapis.com/InterconnectAttachment"
+ }];
+
+ // The URIs of linked Router appliance resources
+ repeated RouterApplianceInstance linked_router_appliance_instances = 14;
+
+ // Output only. Google-generated UUID for this resource. This is unique across all Spoke
+ // resources. If a Spoke resource is deleted and another with the same name is
+ // created, it gets a different unique_id.
+ string unique_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current lifecycle state of this Hub.
+ State state = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request for [HubService.ListHubs][google.cloud.networkconnectivity.v1alpha1.HubService.ListHubs] method.
+message ListHubsRequest {
+ // Required. The parent resource's name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of results per page that should be returned.
+ int32 page_size = 2;
+
+ // The page token.
+ string page_token = 3;
+
+ // A filter expression that filters the results listed in the response.
+ string filter = 4;
+
+ // Sort the results by a certain order.
+ string order_by = 5;
+}
+
+// Response for [HubService.ListHubs][google.cloud.networkconnectivity.v1alpha1.HubService.ListHubs] method.
+message ListHubsResponse {
+ // Hubs to be returned.
+ repeated Hub hubs = 1;
+
+ // The next pagination token in the List response. It should be used as
+ // page_token for the following request. An empty value means no more result.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request for [HubService.GetHub][google.cloud.networkconnectivity.v1alpha1.HubService.GetHub] method.
+message GetHubRequest {
+ // Required. Name of the Hub resource to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ }
+ ];
+}
+
+// Request for [HubService.CreateHub][google.cloud.networkconnectivity.v1alpha1.HubService.CreateHub] method.
+message CreateHubRequest {
+ // Required. The parent resource's name of the Hub.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. Unique id for the Hub to create.
+ string hub_id = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Initial values for a new Hub.
+ Hub hub = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for [HubService.UpdateHub][google.cloud.networkconnectivity.v1alpha1.HubService.UpdateHub] method.
+message UpdateHubRequest {
+ // Optional. Field mask is used to specify the fields to be overwritten in the
+ // Hub resource by the update.
+ // The fields specified in the update_mask are relative to the resource, not
+ // the full request. A field will be overwritten if it is in the mask. If the
+ // user does not provide a mask then all fields will be overwritten.
+ google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The state that the Hub should be in after the update.
+ Hub hub = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request for [HubService.DeleteHub][google.cloud.networkconnectivity.v1alpha1.HubService.DeleteHub].
+message DeleteHubRequest {
+ // Required. The name of the Hub to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Hub"
+ }
+ ];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request for [HubService.ListSpokes][google.cloud.networkconnectivity.v1alpha1.HubService.ListSpokes].
+message ListSpokesRequest {
+ // Required. The parent's resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of results per page that should be returned.
+ int32 page_size = 2;
+
+ // The page token.
+ string page_token = 3;
+
+ // A filter expression that filters the results listed in the response.
+ string filter = 4;
+
+ // Sort the results by a certain order.
+ string order_by = 5;
+}
+
+// The response for [HubService.ListSpokes][google.cloud.networkconnectivity.v1alpha1.HubService.ListSpokes].
+message ListSpokesResponse {
+ // Spokes to be returned.
+ repeated Spoke spokes = 1;
+
+ // The next pagination token in the List response. It should be used as
+ // page_token for the following request. An empty value means no more result.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// The request for [HubService.GetSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.GetSpoke].
+message GetSpokeRequest {
+ // Required. The name of Spoke resource.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Spoke"
+ }
+ ];
+}
+
+// The request for [HubService.CreateSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.CreateSpoke].
+message CreateSpokeRequest {
+ // Required. The parent's resource name of the Spoke.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. Unique id for the Spoke to create.
+ string spoke_id = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Initial values for a new Hub.
+ Spoke spoke = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for [HubService.UpdateSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.UpdateSpoke] method.
+message UpdateSpokeRequest {
+ // Optional. Field mask is used to specify the fields to be overwritten in the
+ // Spoke resource by the update.
+ // The fields specified in the update_mask are relative to the resource, not
+ // the full request. A field will be overwritten if it is in the mask. If the
+ // user does not provide a mask then all fields will be overwritten.
+ google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The state that the Spoke should be in after the update.
+ Spoke spoke = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request for [HubService.DeleteSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.DeleteSpoke].
+message DeleteSpokeRequest {
+ // Required. The name of the Spoke to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "networkconnectivity.googleapis.com/Spoke"
+ }
+ ];
+
+ // Optional. An optional request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// RouterAppliance represents a Router appliance which is specified by a VM URI
+// and a NIC address.
+message RouterApplianceInstance {
+ // The URI of the virtual machine resource
+ string virtual_machine = 1 [(google.api.resource_reference) = {
+ type: "compute.googleapis.com/Instance"
+ }];
+
+ // The IP address of the network interface to use for peering.
+ string ip_address = 3;
+
+ string network_interface = 2 [deprecated = true];
+}
+
+// The State enum represents the lifecycle of a Network Connectivity Center
+// resource.
+enum State {
+ // No state information available
+ STATE_UNSPECIFIED = 0;
+
+ // The resource's create operation is in progress
+ CREATING = 1;
+
+ // The resource is active
+ ACTIVE = 2;
+
+ // The resource's Delete operation is in progress
+ DELETING = 3;
+}
diff --git a/packages/google-cloud-networkconnectivity/protos/protos.d.ts b/packages/google-cloud-networkconnectivity/protos/protos.d.ts
new file mode 100644
index 00000000000..187b7c1ac88
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/protos/protos.d.ts
@@ -0,0 +1,11574 @@
+// Copyright 2022 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 cloud. */
+ namespace cloud {
+
+ /** Namespace networkconnectivity. */
+ namespace networkconnectivity {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of an OperationMetadata. */
+ interface IOperationMetadata {
+
+ /** OperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target */
+ target?: (string|null);
+
+ /** OperationMetadata verb */
+ verb?: (string|null);
+
+ /** OperationMetadata statusMessage */
+ statusMessage?: (string|null);
+
+ /** OperationMetadata requestedCancellation */
+ requestedCancellation?: (boolean|null);
+
+ /** OperationMetadata apiVersion */
+ apiVersion?: (string|null);
+ }
+
+ /** Represents an OperationMetadata. */
+ class OperationMetadata implements IOperationMetadata {
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IOperationMetadata);
+
+ /** OperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target. */
+ public target: string;
+
+ /** OperationMetadata verb. */
+ public verb: string;
+
+ /** OperationMetadata statusMessage. */
+ public statusMessage: string;
+
+ /** OperationMetadata requestedCancellation. */
+ public requestedCancellation: boolean;
+
+ /** OperationMetadata apiVersion. */
+ public apiVersion: string;
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationMetadata instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IOperationMetadata): google.cloud.networkconnectivity.v1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.networkconnectivity.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.OperationMetadata;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.OperationMetadata;
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @param message Plain 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 OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.OperationMetadata;
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @param message OperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a HubService */
+ class HubService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new HubService 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 HubService 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): HubService;
+
+ /**
+ * Calls ListHubs.
+ * @param request ListHubsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListHubsResponse
+ */
+ public listHubs(request: google.cloud.networkconnectivity.v1.IListHubsRequest, callback: google.cloud.networkconnectivity.v1.HubService.ListHubsCallback): void;
+
+ /**
+ * Calls ListHubs.
+ * @param request ListHubsRequest message or plain object
+ * @returns Promise
+ */
+ public listHubs(request: google.cloud.networkconnectivity.v1.IListHubsRequest): Promise;
+
+ /**
+ * Calls GetHub.
+ * @param request GetHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Hub
+ */
+ public getHub(request: google.cloud.networkconnectivity.v1.IGetHubRequest, callback: google.cloud.networkconnectivity.v1.HubService.GetHubCallback): void;
+
+ /**
+ * Calls GetHub.
+ * @param request GetHubRequest message or plain object
+ * @returns Promise
+ */
+ public getHub(request: google.cloud.networkconnectivity.v1.IGetHubRequest): Promise;
+
+ /**
+ * Calls CreateHub.
+ * @param request CreateHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createHub(request: google.cloud.networkconnectivity.v1.ICreateHubRequest, callback: google.cloud.networkconnectivity.v1.HubService.CreateHubCallback): void;
+
+ /**
+ * Calls CreateHub.
+ * @param request CreateHubRequest message or plain object
+ * @returns Promise
+ */
+ public createHub(request: google.cloud.networkconnectivity.v1.ICreateHubRequest): Promise;
+
+ /**
+ * Calls UpdateHub.
+ * @param request UpdateHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateHub(request: google.cloud.networkconnectivity.v1.IUpdateHubRequest, callback: google.cloud.networkconnectivity.v1.HubService.UpdateHubCallback): void;
+
+ /**
+ * Calls UpdateHub.
+ * @param request UpdateHubRequest message or plain object
+ * @returns Promise
+ */
+ public updateHub(request: google.cloud.networkconnectivity.v1.IUpdateHubRequest): Promise;
+
+ /**
+ * Calls DeleteHub.
+ * @param request DeleteHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteHub(request: google.cloud.networkconnectivity.v1.IDeleteHubRequest, callback: google.cloud.networkconnectivity.v1.HubService.DeleteHubCallback): void;
+
+ /**
+ * Calls DeleteHub.
+ * @param request DeleteHubRequest message or plain object
+ * @returns Promise
+ */
+ public deleteHub(request: google.cloud.networkconnectivity.v1.IDeleteHubRequest): Promise;
+
+ /**
+ * Calls ListSpokes.
+ * @param request ListSpokesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSpokesResponse
+ */
+ public listSpokes(request: google.cloud.networkconnectivity.v1.IListSpokesRequest, callback: google.cloud.networkconnectivity.v1.HubService.ListSpokesCallback): void;
+
+ /**
+ * Calls ListSpokes.
+ * @param request ListSpokesRequest message or plain object
+ * @returns Promise
+ */
+ public listSpokes(request: google.cloud.networkconnectivity.v1.IListSpokesRequest): Promise;
+
+ /**
+ * Calls GetSpoke.
+ * @param request GetSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Spoke
+ */
+ public getSpoke(request: google.cloud.networkconnectivity.v1.IGetSpokeRequest, callback: google.cloud.networkconnectivity.v1.HubService.GetSpokeCallback): void;
+
+ /**
+ * Calls GetSpoke.
+ * @param request GetSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public getSpoke(request: google.cloud.networkconnectivity.v1.IGetSpokeRequest): Promise;
+
+ /**
+ * Calls CreateSpoke.
+ * @param request CreateSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createSpoke(request: google.cloud.networkconnectivity.v1.ICreateSpokeRequest, callback: google.cloud.networkconnectivity.v1.HubService.CreateSpokeCallback): void;
+
+ /**
+ * Calls CreateSpoke.
+ * @param request CreateSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public createSpoke(request: google.cloud.networkconnectivity.v1.ICreateSpokeRequest): Promise;
+
+ /**
+ * Calls UpdateSpoke.
+ * @param request UpdateSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateSpoke(request: google.cloud.networkconnectivity.v1.IUpdateSpokeRequest, callback: google.cloud.networkconnectivity.v1.HubService.UpdateSpokeCallback): void;
+
+ /**
+ * Calls UpdateSpoke.
+ * @param request UpdateSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public updateSpoke(request: google.cloud.networkconnectivity.v1.IUpdateSpokeRequest): Promise;
+
+ /**
+ * Calls DeleteSpoke.
+ * @param request DeleteSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteSpoke(request: google.cloud.networkconnectivity.v1.IDeleteSpokeRequest, callback: google.cloud.networkconnectivity.v1.HubService.DeleteSpokeCallback): void;
+
+ /**
+ * Calls DeleteSpoke.
+ * @param request DeleteSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSpoke(request: google.cloud.networkconnectivity.v1.IDeleteSpokeRequest): Promise;
+ }
+
+ namespace HubService {
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|listHubs}.
+ * @param error Error, if any
+ * @param [response] ListHubsResponse
+ */
+ type ListHubsCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1.ListHubsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|getHub}.
+ * @param error Error, if any
+ * @param [response] Hub
+ */
+ type GetHubCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1.Hub) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|createHub}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateHubCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|updateHub}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateHubCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|deleteHub}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteHubCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|listSpokes}.
+ * @param error Error, if any
+ * @param [response] ListSpokesResponse
+ */
+ type ListSpokesCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1.ListSpokesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|getSpoke}.
+ * @param error Error, if any
+ * @param [response] Spoke
+ */
+ type GetSpokeCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1.Spoke) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|createSpoke}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateSpokeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|updateSpoke}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateSpokeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|deleteSpoke}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteSpokeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** LocationFeature enum. */
+ enum LocationFeature {
+ LOCATION_FEATURE_UNSPECIFIED = 0,
+ SITE_TO_CLOUD_SPOKES = 1,
+ SITE_TO_SITE_SPOKES = 2
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ CREATING = 1,
+ ACTIVE = 2,
+ DELETING = 3,
+ UPDATING = 6
+ }
+
+ /** Properties of a Hub. */
+ interface IHub {
+
+ /** Hub name */
+ name?: (string|null);
+
+ /** Hub createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Hub description */
+ description?: (string|null);
+
+ /** Hub uniqueId */
+ uniqueId?: (string|null);
+
+ /** Hub state */
+ state?: (google.cloud.networkconnectivity.v1.State|keyof typeof google.cloud.networkconnectivity.v1.State|null);
+
+ /** Hub routingVpcs */
+ routingVpcs?: (google.cloud.networkconnectivity.v1.IRoutingVPC[]|null);
+ }
+
+ /** Represents a Hub. */
+ class Hub implements IHub {
+
+ /**
+ * Constructs a new Hub.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IHub);
+
+ /** Hub name. */
+ public name: string;
+
+ /** Hub createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub labels. */
+ public labels: { [k: string]: string };
+
+ /** Hub description. */
+ public description: string;
+
+ /** Hub uniqueId. */
+ public uniqueId: string;
+
+ /** Hub state. */
+ public state: (google.cloud.networkconnectivity.v1.State|keyof typeof google.cloud.networkconnectivity.v1.State);
+
+ /** Hub routingVpcs. */
+ public routingVpcs: google.cloud.networkconnectivity.v1.IRoutingVPC[];
+
+ /**
+ * Creates a new Hub instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Hub instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IHub): google.cloud.networkconnectivity.v1.Hub;
+
+ /**
+ * Encodes the specified Hub message. Does not implicitly {@link google.cloud.networkconnectivity.v1.Hub.verify|verify} messages.
+ * @param message Hub message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IHub, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Hub message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.Hub.verify|verify} messages.
+ * @param message Hub message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IHub, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.Hub;
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.Hub;
+
+ /**
+ * Verifies a Hub message.
+ * @param message Plain 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 Hub message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Hub
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.Hub;
+
+ /**
+ * Creates a plain object from a Hub message. Also converts values to other types if specified.
+ * @param message Hub
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.Hub, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Hub to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Hub
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RoutingVPC. */
+ interface IRoutingVPC {
+
+ /** RoutingVPC uri */
+ uri?: (string|null);
+
+ /** RoutingVPC requiredForNewSiteToSiteDataTransferSpokes */
+ requiredForNewSiteToSiteDataTransferSpokes?: (boolean|null);
+ }
+
+ /** Represents a RoutingVPC. */
+ class RoutingVPC implements IRoutingVPC {
+
+ /**
+ * Constructs a new RoutingVPC.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IRoutingVPC);
+
+ /** RoutingVPC uri. */
+ public uri: string;
+
+ /** RoutingVPC requiredForNewSiteToSiteDataTransferSpokes. */
+ public requiredForNewSiteToSiteDataTransferSpokes: boolean;
+
+ /**
+ * Creates a new RoutingVPC instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RoutingVPC instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IRoutingVPC): google.cloud.networkconnectivity.v1.RoutingVPC;
+
+ /**
+ * Encodes the specified RoutingVPC message. Does not implicitly {@link google.cloud.networkconnectivity.v1.RoutingVPC.verify|verify} messages.
+ * @param message RoutingVPC message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IRoutingVPC, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RoutingVPC message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.RoutingVPC.verify|verify} messages.
+ * @param message RoutingVPC message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IRoutingVPC, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RoutingVPC message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RoutingVPC
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.RoutingVPC;
+
+ /**
+ * Decodes a RoutingVPC message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RoutingVPC
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.RoutingVPC;
+
+ /**
+ * Verifies a RoutingVPC message.
+ * @param message Plain 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 RoutingVPC message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RoutingVPC
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.RoutingVPC;
+
+ /**
+ * Creates a plain object from a RoutingVPC message. Also converts values to other types if specified.
+ * @param message RoutingVPC
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.RoutingVPC, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RoutingVPC to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RoutingVPC
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Spoke. */
+ interface ISpoke {
+
+ /** Spoke name */
+ name?: (string|null);
+
+ /** Spoke createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Spoke description */
+ description?: (string|null);
+
+ /** Spoke hub */
+ hub?: (string|null);
+
+ /** Spoke linkedVpnTunnels */
+ linkedVpnTunnels?: (google.cloud.networkconnectivity.v1.ILinkedVpnTunnels|null);
+
+ /** Spoke linkedInterconnectAttachments */
+ linkedInterconnectAttachments?: (google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments|null);
+
+ /** Spoke linkedRouterApplianceInstances */
+ linkedRouterApplianceInstances?: (google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances|null);
+
+ /** Spoke uniqueId */
+ uniqueId?: (string|null);
+
+ /** Spoke state */
+ state?: (google.cloud.networkconnectivity.v1.State|keyof typeof google.cloud.networkconnectivity.v1.State|null);
+ }
+
+ /** Represents a Spoke. */
+ class Spoke implements ISpoke {
+
+ /**
+ * Constructs a new Spoke.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ISpoke);
+
+ /** Spoke name. */
+ public name: string;
+
+ /** Spoke createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke labels. */
+ public labels: { [k: string]: string };
+
+ /** Spoke description. */
+ public description: string;
+
+ /** Spoke hub. */
+ public hub: string;
+
+ /** Spoke linkedVpnTunnels. */
+ public linkedVpnTunnels?: (google.cloud.networkconnectivity.v1.ILinkedVpnTunnels|null);
+
+ /** Spoke linkedInterconnectAttachments. */
+ public linkedInterconnectAttachments?: (google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments|null);
+
+ /** Spoke linkedRouterApplianceInstances. */
+ public linkedRouterApplianceInstances?: (google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances|null);
+
+ /** Spoke uniqueId. */
+ public uniqueId: string;
+
+ /** Spoke state. */
+ public state: (google.cloud.networkconnectivity.v1.State|keyof typeof google.cloud.networkconnectivity.v1.State);
+
+ /**
+ * Creates a new Spoke instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Spoke instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ISpoke): google.cloud.networkconnectivity.v1.Spoke;
+
+ /**
+ * Encodes the specified Spoke message. Does not implicitly {@link google.cloud.networkconnectivity.v1.Spoke.verify|verify} messages.
+ * @param message Spoke message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.ISpoke, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Spoke message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.Spoke.verify|verify} messages.
+ * @param message Spoke message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.ISpoke, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.Spoke;
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.Spoke;
+
+ /**
+ * Verifies a Spoke message.
+ * @param message Plain 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 Spoke message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Spoke
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.Spoke;
+
+ /**
+ * Creates a plain object from a Spoke message. Also converts values to other types if specified.
+ * @param message Spoke
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.Spoke, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Spoke to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Spoke
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListHubsRequest. */
+ interface IListHubsRequest {
+
+ /** ListHubsRequest parent */
+ parent?: (string|null);
+
+ /** ListHubsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListHubsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListHubsRequest filter */
+ filter?: (string|null);
+
+ /** ListHubsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListHubsRequest. */
+ class ListHubsRequest implements IListHubsRequest {
+
+ /**
+ * Constructs a new ListHubsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IListHubsRequest);
+
+ /** ListHubsRequest parent. */
+ public parent: string;
+
+ /** ListHubsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListHubsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListHubsRequest filter. */
+ public filter: string;
+
+ /** ListHubsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListHubsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListHubsRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IListHubsRequest): google.cloud.networkconnectivity.v1.ListHubsRequest;
+
+ /**
+ * Encodes the specified ListHubsRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsRequest.verify|verify} messages.
+ * @param message ListHubsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IListHubsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListHubsRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsRequest.verify|verify} messages.
+ * @param message ListHubsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IListHubsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.ListHubsRequest;
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.ListHubsRequest;
+
+ /**
+ * Verifies a ListHubsRequest message.
+ * @param message Plain 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 ListHubsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListHubsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.ListHubsRequest;
+
+ /**
+ * Creates a plain object from a ListHubsRequest message. Also converts values to other types if specified.
+ * @param message ListHubsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.ListHubsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListHubsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListHubsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListHubsResponse. */
+ interface IListHubsResponse {
+
+ /** ListHubsResponse hubs */
+ hubs?: (google.cloud.networkconnectivity.v1.IHub[]|null);
+
+ /** ListHubsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListHubsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListHubsResponse. */
+ class ListHubsResponse implements IListHubsResponse {
+
+ /**
+ * Constructs a new ListHubsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IListHubsResponse);
+
+ /** ListHubsResponse hubs. */
+ public hubs: google.cloud.networkconnectivity.v1.IHub[];
+
+ /** ListHubsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListHubsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListHubsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListHubsResponse instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IListHubsResponse): google.cloud.networkconnectivity.v1.ListHubsResponse;
+
+ /**
+ * Encodes the specified ListHubsResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsResponse.verify|verify} messages.
+ * @param message ListHubsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IListHubsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListHubsResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsResponse.verify|verify} messages.
+ * @param message ListHubsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IListHubsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.ListHubsResponse;
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.ListHubsResponse;
+
+ /**
+ * Verifies a ListHubsResponse message.
+ * @param message Plain 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 ListHubsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListHubsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.ListHubsResponse;
+
+ /**
+ * Creates a plain object from a ListHubsResponse message. Also converts values to other types if specified.
+ * @param message ListHubsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.ListHubsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListHubsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListHubsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetHubRequest. */
+ interface IGetHubRequest {
+
+ /** GetHubRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetHubRequest. */
+ class GetHubRequest implements IGetHubRequest {
+
+ /**
+ * Constructs a new GetHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IGetHubRequest);
+
+ /** GetHubRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IGetHubRequest): google.cloud.networkconnectivity.v1.GetHubRequest;
+
+ /**
+ * Encodes the specified GetHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetHubRequest.verify|verify} messages.
+ * @param message GetHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IGetHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetHubRequest.verify|verify} messages.
+ * @param message GetHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IGetHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.GetHubRequest;
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.GetHubRequest;
+
+ /**
+ * Verifies a GetHubRequest message.
+ * @param message Plain 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 GetHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.GetHubRequest;
+
+ /**
+ * Creates a plain object from a GetHubRequest message. Also converts values to other types if specified.
+ * @param message GetHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.GetHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateHubRequest. */
+ interface ICreateHubRequest {
+
+ /** CreateHubRequest parent */
+ parent?: (string|null);
+
+ /** CreateHubRequest hubId */
+ hubId?: (string|null);
+
+ /** CreateHubRequest hub */
+ hub?: (google.cloud.networkconnectivity.v1.IHub|null);
+
+ /** CreateHubRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateHubRequest. */
+ class CreateHubRequest implements ICreateHubRequest {
+
+ /**
+ * Constructs a new CreateHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ICreateHubRequest);
+
+ /** CreateHubRequest parent. */
+ public parent: string;
+
+ /** CreateHubRequest hubId. */
+ public hubId: string;
+
+ /** CreateHubRequest hub. */
+ public hub?: (google.cloud.networkconnectivity.v1.IHub|null);
+
+ /** CreateHubRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ICreateHubRequest): google.cloud.networkconnectivity.v1.CreateHubRequest;
+
+ /**
+ * Encodes the specified CreateHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateHubRequest.verify|verify} messages.
+ * @param message CreateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.ICreateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateHubRequest.verify|verify} messages.
+ * @param message CreateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.ICreateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.CreateHubRequest;
+
+ /**
+ * Decodes a CreateHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.CreateHubRequest;
+
+ /**
+ * Verifies a CreateHubRequest message.
+ * @param message Plain 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 CreateHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.CreateHubRequest;
+
+ /**
+ * Creates a plain object from a CreateHubRequest message. Also converts values to other types if specified.
+ * @param message CreateHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.CreateHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateHubRequest. */
+ interface IUpdateHubRequest {
+
+ /** UpdateHubRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateHubRequest hub */
+ hub?: (google.cloud.networkconnectivity.v1.IHub|null);
+
+ /** UpdateHubRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateHubRequest. */
+ class UpdateHubRequest implements IUpdateHubRequest {
+
+ /**
+ * Constructs a new UpdateHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IUpdateHubRequest);
+
+ /** UpdateHubRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateHubRequest hub. */
+ public hub?: (google.cloud.networkconnectivity.v1.IHub|null);
+
+ /** UpdateHubRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IUpdateHubRequest): google.cloud.networkconnectivity.v1.UpdateHubRequest;
+
+ /**
+ * Encodes the specified UpdateHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateHubRequest.verify|verify} messages.
+ * @param message UpdateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IUpdateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateHubRequest.verify|verify} messages.
+ * @param message UpdateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IUpdateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.UpdateHubRequest;
+
+ /**
+ * Decodes an UpdateHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.UpdateHubRequest;
+
+ /**
+ * Verifies an UpdateHubRequest message.
+ * @param message Plain 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 UpdateHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.UpdateHubRequest;
+
+ /**
+ * Creates a plain object from an UpdateHubRequest message. Also converts values to other types if specified.
+ * @param message UpdateHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.UpdateHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteHubRequest. */
+ interface IDeleteHubRequest {
+
+ /** DeleteHubRequest name */
+ name?: (string|null);
+
+ /** DeleteHubRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteHubRequest. */
+ class DeleteHubRequest implements IDeleteHubRequest {
+
+ /**
+ * Constructs a new DeleteHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IDeleteHubRequest);
+
+ /** DeleteHubRequest name. */
+ public name: string;
+
+ /** DeleteHubRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IDeleteHubRequest): google.cloud.networkconnectivity.v1.DeleteHubRequest;
+
+ /**
+ * Encodes the specified DeleteHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteHubRequest.verify|verify} messages.
+ * @param message DeleteHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IDeleteHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteHubRequest.verify|verify} messages.
+ * @param message DeleteHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IDeleteHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.DeleteHubRequest;
+
+ /**
+ * Decodes a DeleteHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.DeleteHubRequest;
+
+ /**
+ * Verifies a DeleteHubRequest message.
+ * @param message Plain 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 DeleteHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.DeleteHubRequest;
+
+ /**
+ * Creates a plain object from a DeleteHubRequest message. Also converts values to other types if specified.
+ * @param message DeleteHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.DeleteHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSpokesRequest. */
+ interface IListSpokesRequest {
+
+ /** ListSpokesRequest parent */
+ parent?: (string|null);
+
+ /** ListSpokesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSpokesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListSpokesRequest filter */
+ filter?: (string|null);
+
+ /** ListSpokesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListSpokesRequest. */
+ class ListSpokesRequest implements IListSpokesRequest {
+
+ /**
+ * Constructs a new ListSpokesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IListSpokesRequest);
+
+ /** ListSpokesRequest parent. */
+ public parent: string;
+
+ /** ListSpokesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSpokesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListSpokesRequest filter. */
+ public filter: string;
+
+ /** ListSpokesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListSpokesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSpokesRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IListSpokesRequest): google.cloud.networkconnectivity.v1.ListSpokesRequest;
+
+ /**
+ * Encodes the specified ListSpokesRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesRequest.verify|verify} messages.
+ * @param message ListSpokesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IListSpokesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSpokesRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesRequest.verify|verify} messages.
+ * @param message ListSpokesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IListSpokesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSpokesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSpokesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.ListSpokesRequest;
+
+ /**
+ * Decodes a ListSpokesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSpokesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.ListSpokesRequest;
+
+ /**
+ * Verifies a ListSpokesRequest message.
+ * @param message Plain 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 ListSpokesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSpokesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.ListSpokesRequest;
+
+ /**
+ * Creates a plain object from a ListSpokesRequest message. Also converts values to other types if specified.
+ * @param message ListSpokesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.ListSpokesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSpokesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSpokesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSpokesResponse. */
+ interface IListSpokesResponse {
+
+ /** ListSpokesResponse spokes */
+ spokes?: (google.cloud.networkconnectivity.v1.ISpoke[]|null);
+
+ /** ListSpokesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListSpokesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListSpokesResponse. */
+ class ListSpokesResponse implements IListSpokesResponse {
+
+ /**
+ * Constructs a new ListSpokesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IListSpokesResponse);
+
+ /** ListSpokesResponse spokes. */
+ public spokes: google.cloud.networkconnectivity.v1.ISpoke[];
+
+ /** ListSpokesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListSpokesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListSpokesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSpokesResponse instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IListSpokesResponse): google.cloud.networkconnectivity.v1.ListSpokesResponse;
+
+ /**
+ * Encodes the specified ListSpokesResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesResponse.verify|verify} messages.
+ * @param message ListSpokesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IListSpokesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSpokesResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesResponse.verify|verify} messages.
+ * @param message ListSpokesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IListSpokesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSpokesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSpokesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.ListSpokesResponse;
+
+ /**
+ * Decodes a ListSpokesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSpokesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.ListSpokesResponse;
+
+ /**
+ * Verifies a ListSpokesResponse message.
+ * @param message Plain 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 ListSpokesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSpokesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.ListSpokesResponse;
+
+ /**
+ * Creates a plain object from a ListSpokesResponse message. Also converts values to other types if specified.
+ * @param message ListSpokesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.ListSpokesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSpokesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSpokesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSpokeRequest. */
+ interface IGetSpokeRequest {
+
+ /** GetSpokeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetSpokeRequest. */
+ class GetSpokeRequest implements IGetSpokeRequest {
+
+ /**
+ * Constructs a new GetSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IGetSpokeRequest);
+
+ /** GetSpokeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IGetSpokeRequest): google.cloud.networkconnectivity.v1.GetSpokeRequest;
+
+ /**
+ * Encodes the specified GetSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetSpokeRequest.verify|verify} messages.
+ * @param message GetSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IGetSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetSpokeRequest.verify|verify} messages.
+ * @param message GetSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IGetSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.GetSpokeRequest;
+
+ /**
+ * Decodes a GetSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.GetSpokeRequest;
+
+ /**
+ * Verifies a GetSpokeRequest message.
+ * @param message Plain 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 GetSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.GetSpokeRequest;
+
+ /**
+ * Creates a plain object from a GetSpokeRequest message. Also converts values to other types if specified.
+ * @param message GetSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.GetSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateSpokeRequest. */
+ interface ICreateSpokeRequest {
+
+ /** CreateSpokeRequest parent */
+ parent?: (string|null);
+
+ /** CreateSpokeRequest spokeId */
+ spokeId?: (string|null);
+
+ /** CreateSpokeRequest spoke */
+ spoke?: (google.cloud.networkconnectivity.v1.ISpoke|null);
+
+ /** CreateSpokeRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateSpokeRequest. */
+ class CreateSpokeRequest implements ICreateSpokeRequest {
+
+ /**
+ * Constructs a new CreateSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ICreateSpokeRequest);
+
+ /** CreateSpokeRequest parent. */
+ public parent: string;
+
+ /** CreateSpokeRequest spokeId. */
+ public spokeId: string;
+
+ /** CreateSpokeRequest spoke. */
+ public spoke?: (google.cloud.networkconnectivity.v1.ISpoke|null);
+
+ /** CreateSpokeRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ICreateSpokeRequest): google.cloud.networkconnectivity.v1.CreateSpokeRequest;
+
+ /**
+ * Encodes the specified CreateSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateSpokeRequest.verify|verify} messages.
+ * @param message CreateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.ICreateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateSpokeRequest.verify|verify} messages.
+ * @param message CreateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.ICreateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.CreateSpokeRequest;
+
+ /**
+ * Decodes a CreateSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.CreateSpokeRequest;
+
+ /**
+ * Verifies a CreateSpokeRequest message.
+ * @param message Plain 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 CreateSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.CreateSpokeRequest;
+
+ /**
+ * Creates a plain object from a CreateSpokeRequest message. Also converts values to other types if specified.
+ * @param message CreateSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.CreateSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateSpokeRequest. */
+ interface IUpdateSpokeRequest {
+
+ /** UpdateSpokeRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateSpokeRequest spoke */
+ spoke?: (google.cloud.networkconnectivity.v1.ISpoke|null);
+
+ /** UpdateSpokeRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateSpokeRequest. */
+ class UpdateSpokeRequest implements IUpdateSpokeRequest {
+
+ /**
+ * Constructs a new UpdateSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IUpdateSpokeRequest);
+
+ /** UpdateSpokeRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateSpokeRequest spoke. */
+ public spoke?: (google.cloud.networkconnectivity.v1.ISpoke|null);
+
+ /** UpdateSpokeRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IUpdateSpokeRequest): google.cloud.networkconnectivity.v1.UpdateSpokeRequest;
+
+ /**
+ * Encodes the specified UpdateSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateSpokeRequest.verify|verify} messages.
+ * @param message UpdateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IUpdateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateSpokeRequest.verify|verify} messages.
+ * @param message UpdateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IUpdateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.UpdateSpokeRequest;
+
+ /**
+ * Decodes an UpdateSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.UpdateSpokeRequest;
+
+ /**
+ * Verifies an UpdateSpokeRequest message.
+ * @param message Plain 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 UpdateSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.UpdateSpokeRequest;
+
+ /**
+ * Creates a plain object from an UpdateSpokeRequest message. Also converts values to other types if specified.
+ * @param message UpdateSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.UpdateSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSpokeRequest. */
+ interface IDeleteSpokeRequest {
+
+ /** DeleteSpokeRequest name */
+ name?: (string|null);
+
+ /** DeleteSpokeRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteSpokeRequest. */
+ class DeleteSpokeRequest implements IDeleteSpokeRequest {
+
+ /**
+ * Constructs a new DeleteSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IDeleteSpokeRequest);
+
+ /** DeleteSpokeRequest name. */
+ public name: string;
+
+ /** DeleteSpokeRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IDeleteSpokeRequest): google.cloud.networkconnectivity.v1.DeleteSpokeRequest;
+
+ /**
+ * Encodes the specified DeleteSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteSpokeRequest.verify|verify} messages.
+ * @param message DeleteSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IDeleteSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteSpokeRequest.verify|verify} messages.
+ * @param message DeleteSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IDeleteSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.DeleteSpokeRequest;
+
+ /**
+ * Decodes a DeleteSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.DeleteSpokeRequest;
+
+ /**
+ * Verifies a DeleteSpokeRequest message.
+ * @param message Plain 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 DeleteSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.DeleteSpokeRequest;
+
+ /**
+ * Creates a plain object from a DeleteSpokeRequest message. Also converts values to other types if specified.
+ * @param message DeleteSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.DeleteSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LinkedVpnTunnels. */
+ interface ILinkedVpnTunnels {
+
+ /** LinkedVpnTunnels uris */
+ uris?: (string[]|null);
+
+ /** LinkedVpnTunnels siteToSiteDataTransfer */
+ siteToSiteDataTransfer?: (boolean|null);
+
+ /** LinkedVpnTunnels vpcNetwork */
+ vpcNetwork?: (string|null);
+ }
+
+ /** Represents a LinkedVpnTunnels. */
+ class LinkedVpnTunnels implements ILinkedVpnTunnels {
+
+ /**
+ * Constructs a new LinkedVpnTunnels.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ILinkedVpnTunnels);
+
+ /** LinkedVpnTunnels uris. */
+ public uris: string[];
+
+ /** LinkedVpnTunnels siteToSiteDataTransfer. */
+ public siteToSiteDataTransfer: boolean;
+
+ /** LinkedVpnTunnels vpcNetwork. */
+ public vpcNetwork: string;
+
+ /**
+ * Creates a new LinkedVpnTunnels instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LinkedVpnTunnels instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ILinkedVpnTunnels): google.cloud.networkconnectivity.v1.LinkedVpnTunnels;
+
+ /**
+ * Encodes the specified LinkedVpnTunnels message. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedVpnTunnels.verify|verify} messages.
+ * @param message LinkedVpnTunnels message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.ILinkedVpnTunnels, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LinkedVpnTunnels message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedVpnTunnels.verify|verify} messages.
+ * @param message LinkedVpnTunnels message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.ILinkedVpnTunnels, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LinkedVpnTunnels message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LinkedVpnTunnels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.LinkedVpnTunnels;
+
+ /**
+ * Decodes a LinkedVpnTunnels message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LinkedVpnTunnels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.LinkedVpnTunnels;
+
+ /**
+ * Verifies a LinkedVpnTunnels message.
+ * @param message Plain 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 LinkedVpnTunnels message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LinkedVpnTunnels
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.LinkedVpnTunnels;
+
+ /**
+ * Creates a plain object from a LinkedVpnTunnels message. Also converts values to other types if specified.
+ * @param message LinkedVpnTunnels
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.LinkedVpnTunnels, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LinkedVpnTunnels to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LinkedVpnTunnels
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LinkedInterconnectAttachments. */
+ interface ILinkedInterconnectAttachments {
+
+ /** LinkedInterconnectAttachments uris */
+ uris?: (string[]|null);
+
+ /** LinkedInterconnectAttachments siteToSiteDataTransfer */
+ siteToSiteDataTransfer?: (boolean|null);
+
+ /** LinkedInterconnectAttachments vpcNetwork */
+ vpcNetwork?: (string|null);
+ }
+
+ /** Represents a LinkedInterconnectAttachments. */
+ class LinkedInterconnectAttachments implements ILinkedInterconnectAttachments {
+
+ /**
+ * Constructs a new LinkedInterconnectAttachments.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments);
+
+ /** LinkedInterconnectAttachments uris. */
+ public uris: string[];
+
+ /** LinkedInterconnectAttachments siteToSiteDataTransfer. */
+ public siteToSiteDataTransfer: boolean;
+
+ /** LinkedInterconnectAttachments vpcNetwork. */
+ public vpcNetwork: string;
+
+ /**
+ * Creates a new LinkedInterconnectAttachments instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LinkedInterconnectAttachments instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments): google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments;
+
+ /**
+ * Encodes the specified LinkedInterconnectAttachments message. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.verify|verify} messages.
+ * @param message LinkedInterconnectAttachments message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LinkedInterconnectAttachments message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.verify|verify} messages.
+ * @param message LinkedInterconnectAttachments message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LinkedInterconnectAttachments message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LinkedInterconnectAttachments
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments;
+
+ /**
+ * Decodes a LinkedInterconnectAttachments message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LinkedInterconnectAttachments
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments;
+
+ /**
+ * Verifies a LinkedInterconnectAttachments message.
+ * @param message Plain 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 LinkedInterconnectAttachments message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LinkedInterconnectAttachments
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments;
+
+ /**
+ * Creates a plain object from a LinkedInterconnectAttachments message. Also converts values to other types if specified.
+ * @param message LinkedInterconnectAttachments
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LinkedInterconnectAttachments to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LinkedInterconnectAttachments
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LinkedRouterApplianceInstances. */
+ interface ILinkedRouterApplianceInstances {
+
+ /** LinkedRouterApplianceInstances instances */
+ instances?: (google.cloud.networkconnectivity.v1.IRouterApplianceInstance[]|null);
+
+ /** LinkedRouterApplianceInstances siteToSiteDataTransfer */
+ siteToSiteDataTransfer?: (boolean|null);
+
+ /** LinkedRouterApplianceInstances vpcNetwork */
+ vpcNetwork?: (string|null);
+ }
+
+ /** Represents a LinkedRouterApplianceInstances. */
+ class LinkedRouterApplianceInstances implements ILinkedRouterApplianceInstances {
+
+ /**
+ * Constructs a new LinkedRouterApplianceInstances.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances);
+
+ /** LinkedRouterApplianceInstances instances. */
+ public instances: google.cloud.networkconnectivity.v1.IRouterApplianceInstance[];
+
+ /** LinkedRouterApplianceInstances siteToSiteDataTransfer. */
+ public siteToSiteDataTransfer: boolean;
+
+ /** LinkedRouterApplianceInstances vpcNetwork. */
+ public vpcNetwork: string;
+
+ /**
+ * Creates a new LinkedRouterApplianceInstances instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LinkedRouterApplianceInstances instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances): google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances;
+
+ /**
+ * Encodes the specified LinkedRouterApplianceInstances message. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.verify|verify} messages.
+ * @param message LinkedRouterApplianceInstances message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LinkedRouterApplianceInstances message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.verify|verify} messages.
+ * @param message LinkedRouterApplianceInstances message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LinkedRouterApplianceInstances message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LinkedRouterApplianceInstances
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances;
+
+ /**
+ * Decodes a LinkedRouterApplianceInstances message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LinkedRouterApplianceInstances
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances;
+
+ /**
+ * Verifies a LinkedRouterApplianceInstances message.
+ * @param message Plain 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 LinkedRouterApplianceInstances message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LinkedRouterApplianceInstances
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances;
+
+ /**
+ * Creates a plain object from a LinkedRouterApplianceInstances message. Also converts values to other types if specified.
+ * @param message LinkedRouterApplianceInstances
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LinkedRouterApplianceInstances to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LinkedRouterApplianceInstances
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RouterApplianceInstance. */
+ interface IRouterApplianceInstance {
+
+ /** RouterApplianceInstance virtualMachine */
+ virtualMachine?: (string|null);
+
+ /** RouterApplianceInstance ipAddress */
+ ipAddress?: (string|null);
+ }
+
+ /** Represents a RouterApplianceInstance. */
+ class RouterApplianceInstance implements IRouterApplianceInstance {
+
+ /**
+ * Constructs a new RouterApplianceInstance.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IRouterApplianceInstance);
+
+ /** RouterApplianceInstance virtualMachine. */
+ public virtualMachine: string;
+
+ /** RouterApplianceInstance ipAddress. */
+ public ipAddress: string;
+
+ /**
+ * Creates a new RouterApplianceInstance instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RouterApplianceInstance instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IRouterApplianceInstance): google.cloud.networkconnectivity.v1.RouterApplianceInstance;
+
+ /**
+ * Encodes the specified RouterApplianceInstance message. Does not implicitly {@link google.cloud.networkconnectivity.v1.RouterApplianceInstance.verify|verify} messages.
+ * @param message RouterApplianceInstance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IRouterApplianceInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RouterApplianceInstance message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.RouterApplianceInstance.verify|verify} messages.
+ * @param message RouterApplianceInstance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IRouterApplianceInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RouterApplianceInstance message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RouterApplianceInstance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.RouterApplianceInstance;
+
+ /**
+ * Decodes a RouterApplianceInstance message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RouterApplianceInstance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.RouterApplianceInstance;
+
+ /**
+ * Verifies a RouterApplianceInstance message.
+ * @param message Plain 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 RouterApplianceInstance message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RouterApplianceInstance
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.RouterApplianceInstance;
+
+ /**
+ * Creates a plain object from a RouterApplianceInstance message. Also converts values to other types if specified.
+ * @param message RouterApplianceInstance
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.RouterApplianceInstance, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RouterApplianceInstance to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RouterApplianceInstance
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocationMetadata. */
+ interface ILocationMetadata {
+
+ /** LocationMetadata locationFeatures */
+ locationFeatures?: (google.cloud.networkconnectivity.v1.LocationFeature[]|null);
+ }
+
+ /** Represents a LocationMetadata. */
+ class LocationMetadata implements ILocationMetadata {
+
+ /**
+ * Constructs a new LocationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ILocationMetadata);
+
+ /** LocationMetadata locationFeatures. */
+ public locationFeatures: google.cloud.networkconnectivity.v1.LocationFeature[];
+
+ /**
+ * Creates a new LocationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationMetadata instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ILocationMetadata): google.cloud.networkconnectivity.v1.LocationMetadata;
+
+ /**
+ * Encodes the specified LocationMetadata message. Does not implicitly {@link google.cloud.networkconnectivity.v1.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.cloud.networkconnectivity.v1.ILocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationMetadata message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.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.cloud.networkconnectivity.v1.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.cloud.networkconnectivity.v1.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.cloud.networkconnectivity.v1.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.cloud.networkconnectivity.v1.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.cloud.networkconnectivity.v1.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 PolicyBasedRoutingService */
+ class PolicyBasedRoutingService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new PolicyBasedRoutingService 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 PolicyBasedRoutingService 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): PolicyBasedRoutingService;
+
+ /**
+ * Calls ListPolicyBasedRoutes.
+ * @param request ListPolicyBasedRoutesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListPolicyBasedRoutesResponse
+ */
+ public listPolicyBasedRoutes(request: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest, callback: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.ListPolicyBasedRoutesCallback): void;
+
+ /**
+ * Calls ListPolicyBasedRoutes.
+ * @param request ListPolicyBasedRoutesRequest message or plain object
+ * @returns Promise
+ */
+ public listPolicyBasedRoutes(request: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest): Promise;
+
+ /**
+ * Calls GetPolicyBasedRoute.
+ * @param request GetPolicyBasedRouteRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and PolicyBasedRoute
+ */
+ public getPolicyBasedRoute(request: google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest, callback: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.GetPolicyBasedRouteCallback): void;
+
+ /**
+ * Calls GetPolicyBasedRoute.
+ * @param request GetPolicyBasedRouteRequest message or plain object
+ * @returns Promise
+ */
+ public getPolicyBasedRoute(request: google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest): Promise;
+
+ /**
+ * Calls CreatePolicyBasedRoute.
+ * @param request CreatePolicyBasedRouteRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createPolicyBasedRoute(request: google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest, callback: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.CreatePolicyBasedRouteCallback): void;
+
+ /**
+ * Calls CreatePolicyBasedRoute.
+ * @param request CreatePolicyBasedRouteRequest message or plain object
+ * @returns Promise
+ */
+ public createPolicyBasedRoute(request: google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest): Promise;
+
+ /**
+ * Calls DeletePolicyBasedRoute.
+ * @param request DeletePolicyBasedRouteRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deletePolicyBasedRoute(request: google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest, callback: google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.DeletePolicyBasedRouteCallback): void;
+
+ /**
+ * Calls DeletePolicyBasedRoute.
+ * @param request DeletePolicyBasedRouteRequest message or plain object
+ * @returns Promise
+ */
+ public deletePolicyBasedRoute(request: google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest): Promise;
+ }
+
+ namespace PolicyBasedRoutingService {
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|listPolicyBasedRoutes}.
+ * @param error Error, if any
+ * @param [response] ListPolicyBasedRoutesResponse
+ */
+ type ListPolicyBasedRoutesCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|getPolicyBasedRoute}.
+ * @param error Error, if any
+ * @param [response] PolicyBasedRoute
+ */
+ type GetPolicyBasedRouteCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1.PolicyBasedRoute) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|createPolicyBasedRoute}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreatePolicyBasedRouteCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|deletePolicyBasedRoute}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeletePolicyBasedRouteCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a PolicyBasedRoute. */
+ interface IPolicyBasedRoute {
+
+ /** PolicyBasedRoute virtualMachine */
+ virtualMachine?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine|null);
+
+ /** PolicyBasedRoute interconnectAttachment */
+ interconnectAttachment?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment|null);
+
+ /** PolicyBasedRoute nextHopIlbIp */
+ nextHopIlbIp?: (string|null);
+
+ /** PolicyBasedRoute name */
+ name?: (string|null);
+
+ /** PolicyBasedRoute createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** PolicyBasedRoute updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** PolicyBasedRoute labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** PolicyBasedRoute description */
+ description?: (string|null);
+
+ /** PolicyBasedRoute network */
+ network?: (string|null);
+
+ /** PolicyBasedRoute filter */
+ filter?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter|null);
+
+ /** PolicyBasedRoute priority */
+ priority?: (number|null);
+
+ /** PolicyBasedRoute warnings */
+ warnings?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings[]|null);
+
+ /** PolicyBasedRoute selfLink */
+ selfLink?: (string|null);
+
+ /** PolicyBasedRoute kind */
+ kind?: (string|null);
+ }
+
+ /** Represents a PolicyBasedRoute. */
+ class PolicyBasedRoute implements IPolicyBasedRoute {
+
+ /**
+ * Constructs a new PolicyBasedRoute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IPolicyBasedRoute);
+
+ /** PolicyBasedRoute virtualMachine. */
+ public virtualMachine?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine|null);
+
+ /** PolicyBasedRoute interconnectAttachment. */
+ public interconnectAttachment?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment|null);
+
+ /** PolicyBasedRoute nextHopIlbIp. */
+ public nextHopIlbIp?: (string|null);
+
+ /** PolicyBasedRoute name. */
+ public name: string;
+
+ /** PolicyBasedRoute createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** PolicyBasedRoute updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** PolicyBasedRoute labels. */
+ public labels: { [k: string]: string };
+
+ /** PolicyBasedRoute description. */
+ public description: string;
+
+ /** PolicyBasedRoute network. */
+ public network: string;
+
+ /** PolicyBasedRoute filter. */
+ public filter?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter|null);
+
+ /** PolicyBasedRoute priority. */
+ public priority: number;
+
+ /** PolicyBasedRoute warnings. */
+ public warnings: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings[];
+
+ /** PolicyBasedRoute selfLink. */
+ public selfLink: string;
+
+ /** PolicyBasedRoute kind. */
+ public kind: string;
+
+ /** PolicyBasedRoute target. */
+ public target?: ("virtualMachine"|"interconnectAttachment");
+
+ /** PolicyBasedRoute nextHop. */
+ public nextHop?: "nextHopIlbIp";
+
+ /**
+ * Creates a new PolicyBasedRoute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PolicyBasedRoute instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IPolicyBasedRoute): google.cloud.networkconnectivity.v1.PolicyBasedRoute;
+
+ /**
+ * Encodes the specified PolicyBasedRoute message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.verify|verify} messages.
+ * @param message PolicyBasedRoute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IPolicyBasedRoute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PolicyBasedRoute message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.verify|verify} messages.
+ * @param message PolicyBasedRoute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IPolicyBasedRoute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PolicyBasedRoute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PolicyBasedRoute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.PolicyBasedRoute;
+
+ /**
+ * Decodes a PolicyBasedRoute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PolicyBasedRoute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.PolicyBasedRoute;
+
+ /**
+ * Verifies a PolicyBasedRoute message.
+ * @param message Plain 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 PolicyBasedRoute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PolicyBasedRoute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.PolicyBasedRoute;
+
+ /**
+ * Creates a plain object from a PolicyBasedRoute message. Also converts values to other types if specified.
+ * @param message PolicyBasedRoute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PolicyBasedRoute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PolicyBasedRoute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PolicyBasedRoute {
+
+ /** Properties of a VirtualMachine. */
+ interface IVirtualMachine {
+
+ /** VirtualMachine tags */
+ tags?: (string[]|null);
+ }
+
+ /** Represents a VirtualMachine. */
+ class VirtualMachine implements IVirtualMachine {
+
+ /**
+ * Constructs a new VirtualMachine.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine);
+
+ /** VirtualMachine tags. */
+ public tags: string[];
+
+ /**
+ * Creates a new VirtualMachine instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VirtualMachine instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine): google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine;
+
+ /**
+ * Encodes the specified VirtualMachine message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.verify|verify} messages.
+ * @param message VirtualMachine message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VirtualMachine message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.verify|verify} messages.
+ * @param message VirtualMachine message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine;
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine;
+
+ /**
+ * Verifies a VirtualMachine message.
+ * @param message Plain 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 VirtualMachine message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VirtualMachine
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine;
+
+ /**
+ * Creates a plain object from a VirtualMachine message. Also converts values to other types if specified.
+ * @param message VirtualMachine
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VirtualMachine to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VirtualMachine
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InterconnectAttachment. */
+ interface IInterconnectAttachment {
+
+ /** InterconnectAttachment region */
+ region?: (string|null);
+ }
+
+ /** Represents an InterconnectAttachment. */
+ class InterconnectAttachment implements IInterconnectAttachment {
+
+ /**
+ * Constructs a new InterconnectAttachment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment);
+
+ /** InterconnectAttachment region. */
+ public region: string;
+
+ /**
+ * Creates a new InterconnectAttachment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InterconnectAttachment instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment): google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment;
+
+ /**
+ * Encodes the specified InterconnectAttachment message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.verify|verify} messages.
+ * @param message InterconnectAttachment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InterconnectAttachment message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.verify|verify} messages.
+ * @param message InterconnectAttachment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InterconnectAttachment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InterconnectAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment;
+
+ /**
+ * Decodes an InterconnectAttachment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InterconnectAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment;
+
+ /**
+ * Verifies an InterconnectAttachment message.
+ * @param message Plain 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 InterconnectAttachment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InterconnectAttachment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment;
+
+ /**
+ * Creates a plain object from an InterconnectAttachment message. Also converts values to other types if specified.
+ * @param message InterconnectAttachment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InterconnectAttachment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InterconnectAttachment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Filter. */
+ interface IFilter {
+
+ /** Filter ipProtocol */
+ ipProtocol?: (string|null);
+
+ /** Filter srcRange */
+ srcRange?: (string|null);
+
+ /** Filter destRange */
+ destRange?: (string|null);
+
+ /** Filter protocolVersion */
+ protocolVersion?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion|keyof typeof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion|null);
+ }
+
+ /** Represents a Filter. */
+ class Filter implements IFilter {
+
+ /**
+ * Constructs a new Filter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter);
+
+ /** Filter ipProtocol. */
+ public ipProtocol: string;
+
+ /** Filter srcRange. */
+ public srcRange: string;
+
+ /** Filter destRange. */
+ public destRange: string;
+
+ /** Filter protocolVersion. */
+ public protocolVersion: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion|keyof typeof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion);
+
+ /**
+ * Creates a new Filter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Filter instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter;
+
+ /**
+ * Encodes the specified Filter message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.verify|verify} messages.
+ * @param message Filter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Filter message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.verify|verify} messages.
+ * @param message Filter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter;
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter;
+
+ /**
+ * Verifies a Filter message.
+ * @param message Plain 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 Filter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Filter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter;
+
+ /**
+ * Creates a plain object from a Filter message. Also converts values to other types if specified.
+ * @param message Filter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Filter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Filter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Filter {
+
+ /** ProtocolVersion enum. */
+ enum ProtocolVersion {
+ PROTOCOL_VERSION_UNSPECIFIED = 0,
+ IPV4 = 1
+ }
+ }
+
+ /** Properties of a Warnings. */
+ interface IWarnings {
+
+ /** Warnings code */
+ code?: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code|keyof typeof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code|null);
+
+ /** Warnings data */
+ data?: ({ [k: string]: string }|null);
+
+ /** Warnings warningMessage */
+ warningMessage?: (string|null);
+ }
+
+ /** Represents a Warnings. */
+ class Warnings implements IWarnings {
+
+ /**
+ * Constructs a new Warnings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings);
+
+ /** Warnings code. */
+ public code: (google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code|keyof typeof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code);
+
+ /** Warnings data. */
+ public data: { [k: string]: string };
+
+ /** Warnings warningMessage. */
+ public warningMessage: string;
+
+ /**
+ * Creates a new Warnings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Warnings instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings;
+
+ /**
+ * Encodes the specified Warnings message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.verify|verify} messages.
+ * @param message Warnings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Warnings message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.verify|verify} messages.
+ * @param message Warnings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Warnings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Warnings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings;
+
+ /**
+ * Decodes a Warnings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Warnings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings;
+
+ /**
+ * Verifies a Warnings message.
+ * @param message Plain 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 Warnings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Warnings
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings;
+
+ /**
+ * Creates a plain object from a Warnings message. Also converts values to other types if specified.
+ * @param message Warnings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Warnings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Warnings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Warnings {
+
+ /** Code enum. */
+ enum Code {
+ WARNING_UNSPECIFIED = 0,
+ RESOURCE_NOT_ACTIVE = 1,
+ RESOURCE_BEING_MODIFIED = 2
+ }
+ }
+ }
+
+ /** Properties of a ListPolicyBasedRoutesRequest. */
+ interface IListPolicyBasedRoutesRequest {
+
+ /** ListPolicyBasedRoutesRequest parent */
+ parent?: (string|null);
+
+ /** ListPolicyBasedRoutesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListPolicyBasedRoutesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListPolicyBasedRoutesRequest filter */
+ filter?: (string|null);
+
+ /** ListPolicyBasedRoutesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListPolicyBasedRoutesRequest. */
+ class ListPolicyBasedRoutesRequest implements IListPolicyBasedRoutesRequest {
+
+ /**
+ * Constructs a new ListPolicyBasedRoutesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest);
+
+ /** ListPolicyBasedRoutesRequest parent. */
+ public parent: string;
+
+ /** ListPolicyBasedRoutesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListPolicyBasedRoutesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListPolicyBasedRoutesRequest filter. */
+ public filter: string;
+
+ /** ListPolicyBasedRoutesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListPolicyBasedRoutesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListPolicyBasedRoutesRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest;
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest.verify|verify} messages.
+ * @param message ListPolicyBasedRoutesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest.verify|verify} messages.
+ * @param message ListPolicyBasedRoutesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListPolicyBasedRoutesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListPolicyBasedRoutesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest;
+
+ /**
+ * Decodes a ListPolicyBasedRoutesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListPolicyBasedRoutesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest;
+
+ /**
+ * Verifies a ListPolicyBasedRoutesRequest message.
+ * @param message Plain 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 ListPolicyBasedRoutesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListPolicyBasedRoutesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest;
+
+ /**
+ * Creates a plain object from a ListPolicyBasedRoutesRequest message. Also converts values to other types if specified.
+ * @param message ListPolicyBasedRoutesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListPolicyBasedRoutesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListPolicyBasedRoutesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListPolicyBasedRoutesResponse. */
+ interface IListPolicyBasedRoutesResponse {
+
+ /** ListPolicyBasedRoutesResponse policyBasedRoutes */
+ policyBasedRoutes?: (google.cloud.networkconnectivity.v1.IPolicyBasedRoute[]|null);
+
+ /** ListPolicyBasedRoutesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListPolicyBasedRoutesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListPolicyBasedRoutesResponse. */
+ class ListPolicyBasedRoutesResponse implements IListPolicyBasedRoutesResponse {
+
+ /**
+ * Constructs a new ListPolicyBasedRoutesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse);
+
+ /** ListPolicyBasedRoutesResponse policyBasedRoutes. */
+ public policyBasedRoutes: google.cloud.networkconnectivity.v1.IPolicyBasedRoute[];
+
+ /** ListPolicyBasedRoutesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListPolicyBasedRoutesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListPolicyBasedRoutesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListPolicyBasedRoutesResponse instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse;
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.verify|verify} messages.
+ * @param message ListPolicyBasedRoutesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.verify|verify} messages.
+ * @param message ListPolicyBasedRoutesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListPolicyBasedRoutesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListPolicyBasedRoutesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse;
+
+ /**
+ * Decodes a ListPolicyBasedRoutesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListPolicyBasedRoutesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse;
+
+ /**
+ * Verifies a ListPolicyBasedRoutesResponse message.
+ * @param message Plain 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 ListPolicyBasedRoutesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListPolicyBasedRoutesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse;
+
+ /**
+ * Creates a plain object from a ListPolicyBasedRoutesResponse message. Also converts values to other types if specified.
+ * @param message ListPolicyBasedRoutesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListPolicyBasedRoutesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListPolicyBasedRoutesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetPolicyBasedRouteRequest. */
+ interface IGetPolicyBasedRouteRequest {
+
+ /** GetPolicyBasedRouteRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetPolicyBasedRouteRequest. */
+ class GetPolicyBasedRouteRequest implements IGetPolicyBasedRouteRequest {
+
+ /**
+ * Constructs a new GetPolicyBasedRouteRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest);
+
+ /** GetPolicyBasedRouteRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetPolicyBasedRouteRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetPolicyBasedRouteRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest): google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest;
+
+ /**
+ * Encodes the specified GetPolicyBasedRouteRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest.verify|verify} messages.
+ * @param message GetPolicyBasedRouteRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetPolicyBasedRouteRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest.verify|verify} messages.
+ * @param message GetPolicyBasedRouteRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetPolicyBasedRouteRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetPolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest;
+
+ /**
+ * Decodes a GetPolicyBasedRouteRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetPolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest;
+
+ /**
+ * Verifies a GetPolicyBasedRouteRequest message.
+ * @param message Plain 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 GetPolicyBasedRouteRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetPolicyBasedRouteRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest;
+
+ /**
+ * Creates a plain object from a GetPolicyBasedRouteRequest message. Also converts values to other types if specified.
+ * @param message GetPolicyBasedRouteRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetPolicyBasedRouteRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetPolicyBasedRouteRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreatePolicyBasedRouteRequest. */
+ interface ICreatePolicyBasedRouteRequest {
+
+ /** CreatePolicyBasedRouteRequest parent */
+ parent?: (string|null);
+
+ /** CreatePolicyBasedRouteRequest policyBasedRouteId */
+ policyBasedRouteId?: (string|null);
+
+ /** CreatePolicyBasedRouteRequest policyBasedRoute */
+ policyBasedRoute?: (google.cloud.networkconnectivity.v1.IPolicyBasedRoute|null);
+
+ /** CreatePolicyBasedRouteRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreatePolicyBasedRouteRequest. */
+ class CreatePolicyBasedRouteRequest implements ICreatePolicyBasedRouteRequest {
+
+ /**
+ * Constructs a new CreatePolicyBasedRouteRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest);
+
+ /** CreatePolicyBasedRouteRequest parent. */
+ public parent: string;
+
+ /** CreatePolicyBasedRouteRequest policyBasedRouteId. */
+ public policyBasedRouteId: string;
+
+ /** CreatePolicyBasedRouteRequest policyBasedRoute. */
+ public policyBasedRoute?: (google.cloud.networkconnectivity.v1.IPolicyBasedRoute|null);
+
+ /** CreatePolicyBasedRouteRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreatePolicyBasedRouteRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreatePolicyBasedRouteRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest): google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest;
+
+ /**
+ * Encodes the specified CreatePolicyBasedRouteRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest.verify|verify} messages.
+ * @param message CreatePolicyBasedRouteRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreatePolicyBasedRouteRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest.verify|verify} messages.
+ * @param message CreatePolicyBasedRouteRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreatePolicyBasedRouteRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreatePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest;
+
+ /**
+ * Decodes a CreatePolicyBasedRouteRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreatePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest;
+
+ /**
+ * Verifies a CreatePolicyBasedRouteRequest message.
+ * @param message Plain 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 CreatePolicyBasedRouteRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreatePolicyBasedRouteRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest;
+
+ /**
+ * Creates a plain object from a CreatePolicyBasedRouteRequest message. Also converts values to other types if specified.
+ * @param message CreatePolicyBasedRouteRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreatePolicyBasedRouteRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreatePolicyBasedRouteRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeletePolicyBasedRouteRequest. */
+ interface IDeletePolicyBasedRouteRequest {
+
+ /** DeletePolicyBasedRouteRequest name */
+ name?: (string|null);
+
+ /** DeletePolicyBasedRouteRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeletePolicyBasedRouteRequest. */
+ class DeletePolicyBasedRouteRequest implements IDeletePolicyBasedRouteRequest {
+
+ /**
+ * Constructs a new DeletePolicyBasedRouteRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest);
+
+ /** DeletePolicyBasedRouteRequest name. */
+ public name: string;
+
+ /** DeletePolicyBasedRouteRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeletePolicyBasedRouteRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeletePolicyBasedRouteRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest): google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest;
+
+ /**
+ * Encodes the specified DeletePolicyBasedRouteRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest.verify|verify} messages.
+ * @param message DeletePolicyBasedRouteRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeletePolicyBasedRouteRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest.verify|verify} messages.
+ * @param message DeletePolicyBasedRouteRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeletePolicyBasedRouteRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeletePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest;
+
+ /**
+ * Decodes a DeletePolicyBasedRouteRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeletePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest;
+
+ /**
+ * Verifies a DeletePolicyBasedRouteRequest message.
+ * @param message Plain 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 DeletePolicyBasedRouteRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeletePolicyBasedRouteRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest;
+
+ /**
+ * Creates a plain object from a DeletePolicyBasedRouteRequest message. Also converts values to other types if specified.
+ * @param message DeletePolicyBasedRouteRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeletePolicyBasedRouteRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeletePolicyBasedRouteRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v1alpha1. */
+ namespace v1alpha1 {
+
+ /** Properties of an OperationMetadata. */
+ interface IOperationMetadata {
+
+ /** OperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target */
+ target?: (string|null);
+
+ /** OperationMetadata verb */
+ verb?: (string|null);
+
+ /** OperationMetadata statusMessage */
+ statusMessage?: (string|null);
+
+ /** OperationMetadata requestedCancellation */
+ requestedCancellation?: (boolean|null);
+
+ /** OperationMetadata apiVersion */
+ apiVersion?: (string|null);
+ }
+
+ /** Represents an OperationMetadata. */
+ class OperationMetadata implements IOperationMetadata {
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IOperationMetadata);
+
+ /** OperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target. */
+ public target: string;
+
+ /** OperationMetadata verb. */
+ public verb: string;
+
+ /** OperationMetadata statusMessage. */
+ public statusMessage: string;
+
+ /** OperationMetadata requestedCancellation. */
+ public requestedCancellation: boolean;
+
+ /** OperationMetadata apiVersion. */
+ public apiVersion: string;
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationMetadata instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IOperationMetadata): google.cloud.networkconnectivity.v1alpha1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.OperationMetadata;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.OperationMetadata;
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @param message Plain 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 OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.OperationMetadata;
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @param message OperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a HubService */
+ class HubService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new HubService 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 HubService 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): HubService;
+
+ /**
+ * Calls ListHubs.
+ * @param request ListHubsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListHubsResponse
+ */
+ public listHubs(request: google.cloud.networkconnectivity.v1alpha1.IListHubsRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.ListHubsCallback): void;
+
+ /**
+ * Calls ListHubs.
+ * @param request ListHubsRequest message or plain object
+ * @returns Promise
+ */
+ public listHubs(request: google.cloud.networkconnectivity.v1alpha1.IListHubsRequest): Promise;
+
+ /**
+ * Calls GetHub.
+ * @param request GetHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Hub
+ */
+ public getHub(request: google.cloud.networkconnectivity.v1alpha1.IGetHubRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.GetHubCallback): void;
+
+ /**
+ * Calls GetHub.
+ * @param request GetHubRequest message or plain object
+ * @returns Promise
+ */
+ public getHub(request: google.cloud.networkconnectivity.v1alpha1.IGetHubRequest): Promise;
+
+ /**
+ * Calls CreateHub.
+ * @param request CreateHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createHub(request: google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.CreateHubCallback): void;
+
+ /**
+ * Calls CreateHub.
+ * @param request CreateHubRequest message or plain object
+ * @returns Promise
+ */
+ public createHub(request: google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest): Promise;
+
+ /**
+ * Calls UpdateHub.
+ * @param request UpdateHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateHub(request: google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.UpdateHubCallback): void;
+
+ /**
+ * Calls UpdateHub.
+ * @param request UpdateHubRequest message or plain object
+ * @returns Promise
+ */
+ public updateHub(request: google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest): Promise;
+
+ /**
+ * Calls DeleteHub.
+ * @param request DeleteHubRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteHub(request: google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.DeleteHubCallback): void;
+
+ /**
+ * Calls DeleteHub.
+ * @param request DeleteHubRequest message or plain object
+ * @returns Promise
+ */
+ public deleteHub(request: google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest): Promise;
+
+ /**
+ * Calls ListSpokes.
+ * @param request ListSpokesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSpokesResponse
+ */
+ public listSpokes(request: google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.ListSpokesCallback): void;
+
+ /**
+ * Calls ListSpokes.
+ * @param request ListSpokesRequest message or plain object
+ * @returns Promise
+ */
+ public listSpokes(request: google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest): Promise;
+
+ /**
+ * Calls GetSpoke.
+ * @param request GetSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Spoke
+ */
+ public getSpoke(request: google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.GetSpokeCallback): void;
+
+ /**
+ * Calls GetSpoke.
+ * @param request GetSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public getSpoke(request: google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest): Promise;
+
+ /**
+ * Calls CreateSpoke.
+ * @param request CreateSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createSpoke(request: google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.CreateSpokeCallback): void;
+
+ /**
+ * Calls CreateSpoke.
+ * @param request CreateSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public createSpoke(request: google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest): Promise;
+
+ /**
+ * Calls UpdateSpoke.
+ * @param request UpdateSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateSpoke(request: google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.UpdateSpokeCallback): void;
+
+ /**
+ * Calls UpdateSpoke.
+ * @param request UpdateSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public updateSpoke(request: google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest): Promise;
+
+ /**
+ * Calls DeleteSpoke.
+ * @param request DeleteSpokeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteSpoke(request: google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest, callback: google.cloud.networkconnectivity.v1alpha1.HubService.DeleteSpokeCallback): void;
+
+ /**
+ * Calls DeleteSpoke.
+ * @param request DeleteSpokeRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSpoke(request: google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest): Promise;
+ }
+
+ namespace HubService {
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|listHubs}.
+ * @param error Error, if any
+ * @param [response] ListHubsResponse
+ */
+ type ListHubsCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1alpha1.ListHubsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|getHub}.
+ * @param error Error, if any
+ * @param [response] Hub
+ */
+ type GetHubCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1alpha1.Hub) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|createHub}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateHubCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|updateHub}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateHubCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|deleteHub}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteHubCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|listSpokes}.
+ * @param error Error, if any
+ * @param [response] ListSpokesResponse
+ */
+ type ListSpokesCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|getSpoke}.
+ * @param error Error, if any
+ * @param [response] Spoke
+ */
+ type GetSpokeCallback = (error: (Error|null), response?: google.cloud.networkconnectivity.v1alpha1.Spoke) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|createSpoke}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateSpokeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|updateSpoke}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateSpokeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|deleteSpoke}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteSpokeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a Hub. */
+ interface IHub {
+
+ /** Hub name */
+ name?: (string|null);
+
+ /** Hub createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Hub description */
+ description?: (string|null);
+
+ /** Hub spokes */
+ spokes?: (string[]|null);
+
+ /** Hub uniqueId */
+ uniqueId?: (string|null);
+
+ /** Hub state */
+ state?: (google.cloud.networkconnectivity.v1alpha1.State|keyof typeof google.cloud.networkconnectivity.v1alpha1.State|null);
+ }
+
+ /** Represents a Hub. */
+ class Hub implements IHub {
+
+ /**
+ * Constructs a new Hub.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IHub);
+
+ /** Hub name. */
+ public name: string;
+
+ /** Hub createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Hub labels. */
+ public labels: { [k: string]: string };
+
+ /** Hub description. */
+ public description: string;
+
+ /** Hub spokes. */
+ public spokes: string[];
+
+ /** Hub uniqueId. */
+ public uniqueId: string;
+
+ /** Hub state. */
+ public state: (google.cloud.networkconnectivity.v1alpha1.State|keyof typeof google.cloud.networkconnectivity.v1alpha1.State);
+
+ /**
+ * Creates a new Hub instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Hub instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IHub): google.cloud.networkconnectivity.v1alpha1.Hub;
+
+ /**
+ * Encodes the specified Hub message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Hub.verify|verify} messages.
+ * @param message Hub message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IHub, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Hub message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Hub.verify|verify} messages.
+ * @param message Hub message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IHub, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.Hub;
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.Hub;
+
+ /**
+ * Verifies a Hub message.
+ * @param message Plain 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 Hub message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Hub
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.Hub;
+
+ /**
+ * Creates a plain object from a Hub message. Also converts values to other types if specified.
+ * @param message Hub
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.Hub, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Hub to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Hub
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Spoke. */
+ interface ISpoke {
+
+ /** Spoke name */
+ name?: (string|null);
+
+ /** Spoke createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Spoke description */
+ description?: (string|null);
+
+ /** Spoke hub */
+ hub?: (string|null);
+
+ /** Spoke linkedVpnTunnels */
+ linkedVpnTunnels?: (string[]|null);
+
+ /** Spoke linkedInterconnectAttachments */
+ linkedInterconnectAttachments?: (string[]|null);
+
+ /** Spoke linkedRouterApplianceInstances */
+ linkedRouterApplianceInstances?: (google.cloud.networkconnectivity.v1alpha1.IRouterApplianceInstance[]|null);
+
+ /** Spoke uniqueId */
+ uniqueId?: (string|null);
+
+ /** Spoke state */
+ state?: (google.cloud.networkconnectivity.v1alpha1.State|keyof typeof google.cloud.networkconnectivity.v1alpha1.State|null);
+ }
+
+ /** Represents a Spoke. */
+ class Spoke implements ISpoke {
+
+ /**
+ * Constructs a new Spoke.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.ISpoke);
+
+ /** Spoke name. */
+ public name: string;
+
+ /** Spoke createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Spoke labels. */
+ public labels: { [k: string]: string };
+
+ /** Spoke description. */
+ public description: string;
+
+ /** Spoke hub. */
+ public hub: string;
+
+ /** Spoke linkedVpnTunnels. */
+ public linkedVpnTunnels: string[];
+
+ /** Spoke linkedInterconnectAttachments. */
+ public linkedInterconnectAttachments: string[];
+
+ /** Spoke linkedRouterApplianceInstances. */
+ public linkedRouterApplianceInstances: google.cloud.networkconnectivity.v1alpha1.IRouterApplianceInstance[];
+
+ /** Spoke uniqueId. */
+ public uniqueId: string;
+
+ /** Spoke state. */
+ public state: (google.cloud.networkconnectivity.v1alpha1.State|keyof typeof google.cloud.networkconnectivity.v1alpha1.State);
+
+ /**
+ * Creates a new Spoke instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Spoke instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.ISpoke): google.cloud.networkconnectivity.v1alpha1.Spoke;
+
+ /**
+ * Encodes the specified Spoke message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Spoke.verify|verify} messages.
+ * @param message Spoke message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.ISpoke, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Spoke message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Spoke.verify|verify} messages.
+ * @param message Spoke message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.ISpoke, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.Spoke;
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.Spoke;
+
+ /**
+ * Verifies a Spoke message.
+ * @param message Plain 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 Spoke message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Spoke
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.Spoke;
+
+ /**
+ * Creates a plain object from a Spoke message. Also converts values to other types if specified.
+ * @param message Spoke
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.Spoke, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Spoke to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Spoke
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListHubsRequest. */
+ interface IListHubsRequest {
+
+ /** ListHubsRequest parent */
+ parent?: (string|null);
+
+ /** ListHubsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListHubsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListHubsRequest filter */
+ filter?: (string|null);
+
+ /** ListHubsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListHubsRequest. */
+ class ListHubsRequest implements IListHubsRequest {
+
+ /**
+ * Constructs a new ListHubsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IListHubsRequest);
+
+ /** ListHubsRequest parent. */
+ public parent: string;
+
+ /** ListHubsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListHubsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListHubsRequest filter. */
+ public filter: string;
+
+ /** ListHubsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListHubsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListHubsRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IListHubsRequest): google.cloud.networkconnectivity.v1alpha1.ListHubsRequest;
+
+ /**
+ * Encodes the specified ListHubsRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsRequest.verify|verify} messages.
+ * @param message ListHubsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IListHubsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListHubsRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsRequest.verify|verify} messages.
+ * @param message ListHubsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IListHubsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.ListHubsRequest;
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.ListHubsRequest;
+
+ /**
+ * Verifies a ListHubsRequest message.
+ * @param message Plain 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 ListHubsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListHubsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.ListHubsRequest;
+
+ /**
+ * Creates a plain object from a ListHubsRequest message. Also converts values to other types if specified.
+ * @param message ListHubsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.ListHubsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListHubsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListHubsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListHubsResponse. */
+ interface IListHubsResponse {
+
+ /** ListHubsResponse hubs */
+ hubs?: (google.cloud.networkconnectivity.v1alpha1.IHub[]|null);
+
+ /** ListHubsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListHubsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListHubsResponse. */
+ class ListHubsResponse implements IListHubsResponse {
+
+ /**
+ * Constructs a new ListHubsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IListHubsResponse);
+
+ /** ListHubsResponse hubs. */
+ public hubs: google.cloud.networkconnectivity.v1alpha1.IHub[];
+
+ /** ListHubsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListHubsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListHubsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListHubsResponse instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IListHubsResponse): google.cloud.networkconnectivity.v1alpha1.ListHubsResponse;
+
+ /**
+ * Encodes the specified ListHubsResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsResponse.verify|verify} messages.
+ * @param message ListHubsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IListHubsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListHubsResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsResponse.verify|verify} messages.
+ * @param message ListHubsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IListHubsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.ListHubsResponse;
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.ListHubsResponse;
+
+ /**
+ * Verifies a ListHubsResponse message.
+ * @param message Plain 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 ListHubsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListHubsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.ListHubsResponse;
+
+ /**
+ * Creates a plain object from a ListHubsResponse message. Also converts values to other types if specified.
+ * @param message ListHubsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.ListHubsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListHubsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListHubsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetHubRequest. */
+ interface IGetHubRequest {
+
+ /** GetHubRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetHubRequest. */
+ class GetHubRequest implements IGetHubRequest {
+
+ /**
+ * Constructs a new GetHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IGetHubRequest);
+
+ /** GetHubRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IGetHubRequest): google.cloud.networkconnectivity.v1alpha1.GetHubRequest;
+
+ /**
+ * Encodes the specified GetHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.GetHubRequest.verify|verify} messages.
+ * @param message GetHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IGetHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.GetHubRequest.verify|verify} messages.
+ * @param message GetHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IGetHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.GetHubRequest;
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.GetHubRequest;
+
+ /**
+ * Verifies a GetHubRequest message.
+ * @param message Plain 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 GetHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.GetHubRequest;
+
+ /**
+ * Creates a plain object from a GetHubRequest message. Also converts values to other types if specified.
+ * @param message GetHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.GetHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateHubRequest. */
+ interface ICreateHubRequest {
+
+ /** CreateHubRequest parent */
+ parent?: (string|null);
+
+ /** CreateHubRequest hubId */
+ hubId?: (string|null);
+
+ /** CreateHubRequest hub */
+ hub?: (google.cloud.networkconnectivity.v1alpha1.IHub|null);
+
+ /** CreateHubRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateHubRequest. */
+ class CreateHubRequest implements ICreateHubRequest {
+
+ /**
+ * Constructs a new CreateHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest);
+
+ /** CreateHubRequest parent. */
+ public parent: string;
+
+ /** CreateHubRequest hubId. */
+ public hubId: string;
+
+ /** CreateHubRequest hub. */
+ public hub?: (google.cloud.networkconnectivity.v1alpha1.IHub|null);
+
+ /** CreateHubRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest): google.cloud.networkconnectivity.v1alpha1.CreateHubRequest;
+
+ /**
+ * Encodes the specified CreateHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.CreateHubRequest.verify|verify} messages.
+ * @param message CreateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.CreateHubRequest.verify|verify} messages.
+ * @param message CreateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.CreateHubRequest;
+
+ /**
+ * Decodes a CreateHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.CreateHubRequest;
+
+ /**
+ * Verifies a CreateHubRequest message.
+ * @param message Plain 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 CreateHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.CreateHubRequest;
+
+ /**
+ * Creates a plain object from a CreateHubRequest message. Also converts values to other types if specified.
+ * @param message CreateHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.CreateHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateHubRequest. */
+ interface IUpdateHubRequest {
+
+ /** UpdateHubRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateHubRequest hub */
+ hub?: (google.cloud.networkconnectivity.v1alpha1.IHub|null);
+
+ /** UpdateHubRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateHubRequest. */
+ class UpdateHubRequest implements IUpdateHubRequest {
+
+ /**
+ * Constructs a new UpdateHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest);
+
+ /** UpdateHubRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateHubRequest hub. */
+ public hub?: (google.cloud.networkconnectivity.v1alpha1.IHub|null);
+
+ /** UpdateHubRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest): google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest;
+
+ /**
+ * Encodes the specified UpdateHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest.verify|verify} messages.
+ * @param message UpdateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest.verify|verify} messages.
+ * @param message UpdateHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest;
+
+ /**
+ * Decodes an UpdateHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest;
+
+ /**
+ * Verifies an UpdateHubRequest message.
+ * @param message Plain 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 UpdateHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest;
+
+ /**
+ * Creates a plain object from an UpdateHubRequest message. Also converts values to other types if specified.
+ * @param message UpdateHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteHubRequest. */
+ interface IDeleteHubRequest {
+
+ /** DeleteHubRequest name */
+ name?: (string|null);
+
+ /** DeleteHubRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteHubRequest. */
+ class DeleteHubRequest implements IDeleteHubRequest {
+
+ /**
+ * Constructs a new DeleteHubRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest);
+
+ /** DeleteHubRequest name. */
+ public name: string;
+
+ /** DeleteHubRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteHubRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteHubRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest): google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest;
+
+ /**
+ * Encodes the specified DeleteHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest.verify|verify} messages.
+ * @param message DeleteHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest.verify|verify} messages.
+ * @param message DeleteHubRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteHubRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest;
+
+ /**
+ * Decodes a DeleteHubRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest;
+
+ /**
+ * Verifies a DeleteHubRequest message.
+ * @param message Plain 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 DeleteHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteHubRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest;
+
+ /**
+ * Creates a plain object from a DeleteHubRequest message. Also converts values to other types if specified.
+ * @param message DeleteHubRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteHubRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteHubRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSpokesRequest. */
+ interface IListSpokesRequest {
+
+ /** ListSpokesRequest parent */
+ parent?: (string|null);
+
+ /** ListSpokesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSpokesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListSpokesRequest filter */
+ filter?: (string|null);
+
+ /** ListSpokesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListSpokesRequest. */
+ class ListSpokesRequest implements IListSpokesRequest {
+
+ /**
+ * Constructs a new ListSpokesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest);
+
+ /** ListSpokesRequest parent. */
+ public parent: string;
+
+ /** ListSpokesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSpokesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListSpokesRequest filter. */
+ public filter: string;
+
+ /** ListSpokesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListSpokesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSpokesRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest): google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest;
+
+ /**
+ * Encodes the specified ListSpokesRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest.verify|verify} messages.
+ * @param message ListSpokesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSpokesRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest.verify|verify} messages.
+ * @param message ListSpokesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSpokesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSpokesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest;
+
+ /**
+ * Decodes a ListSpokesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSpokesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest;
+
+ /**
+ * Verifies a ListSpokesRequest message.
+ * @param message Plain 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 ListSpokesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSpokesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest;
+
+ /**
+ * Creates a plain object from a ListSpokesRequest message. Also converts values to other types if specified.
+ * @param message ListSpokesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSpokesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSpokesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSpokesResponse. */
+ interface IListSpokesResponse {
+
+ /** ListSpokesResponse spokes */
+ spokes?: (google.cloud.networkconnectivity.v1alpha1.ISpoke[]|null);
+
+ /** ListSpokesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListSpokesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListSpokesResponse. */
+ class ListSpokesResponse implements IListSpokesResponse {
+
+ /**
+ * Constructs a new ListSpokesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IListSpokesResponse);
+
+ /** ListSpokesResponse spokes. */
+ public spokes: google.cloud.networkconnectivity.v1alpha1.ISpoke[];
+
+ /** ListSpokesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListSpokesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListSpokesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSpokesResponse instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IListSpokesResponse): google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse;
+
+ /**
+ * Encodes the specified ListSpokesResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse.verify|verify} messages.
+ * @param message ListSpokesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IListSpokesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSpokesResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse.verify|verify} messages.
+ * @param message ListSpokesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IListSpokesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSpokesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSpokesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse;
+
+ /**
+ * Decodes a ListSpokesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSpokesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse;
+
+ /**
+ * Verifies a ListSpokesResponse message.
+ * @param message Plain 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 ListSpokesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSpokesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse;
+
+ /**
+ * Creates a plain object from a ListSpokesResponse message. Also converts values to other types if specified.
+ * @param message ListSpokesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSpokesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSpokesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSpokeRequest. */
+ interface IGetSpokeRequest {
+
+ /** GetSpokeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetSpokeRequest. */
+ class GetSpokeRequest implements IGetSpokeRequest {
+
+ /**
+ * Constructs a new GetSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest);
+
+ /** GetSpokeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest): google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest;
+
+ /**
+ * Encodes the specified GetSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest.verify|verify} messages.
+ * @param message GetSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest.verify|verify} messages.
+ * @param message GetSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest;
+
+ /**
+ * Decodes a GetSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest;
+
+ /**
+ * Verifies a GetSpokeRequest message.
+ * @param message Plain 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 GetSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest;
+
+ /**
+ * Creates a plain object from a GetSpokeRequest message. Also converts values to other types if specified.
+ * @param message GetSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateSpokeRequest. */
+ interface ICreateSpokeRequest {
+
+ /** CreateSpokeRequest parent */
+ parent?: (string|null);
+
+ /** CreateSpokeRequest spokeId */
+ spokeId?: (string|null);
+
+ /** CreateSpokeRequest spoke */
+ spoke?: (google.cloud.networkconnectivity.v1alpha1.ISpoke|null);
+
+ /** CreateSpokeRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateSpokeRequest. */
+ class CreateSpokeRequest implements ICreateSpokeRequest {
+
+ /**
+ * Constructs a new CreateSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest);
+
+ /** CreateSpokeRequest parent. */
+ public parent: string;
+
+ /** CreateSpokeRequest spokeId. */
+ public spokeId: string;
+
+ /** CreateSpokeRequest spoke. */
+ public spoke?: (google.cloud.networkconnectivity.v1alpha1.ISpoke|null);
+
+ /** CreateSpokeRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest): google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest;
+
+ /**
+ * Encodes the specified CreateSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest.verify|verify} messages.
+ * @param message CreateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest.verify|verify} messages.
+ * @param message CreateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest;
+
+ /**
+ * Decodes a CreateSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest;
+
+ /**
+ * Verifies a CreateSpokeRequest message.
+ * @param message Plain 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 CreateSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest;
+
+ /**
+ * Creates a plain object from a CreateSpokeRequest message. Also converts values to other types if specified.
+ * @param message CreateSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateSpokeRequest. */
+ interface IUpdateSpokeRequest {
+
+ /** UpdateSpokeRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateSpokeRequest spoke */
+ spoke?: (google.cloud.networkconnectivity.v1alpha1.ISpoke|null);
+
+ /** UpdateSpokeRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateSpokeRequest. */
+ class UpdateSpokeRequest implements IUpdateSpokeRequest {
+
+ /**
+ * Constructs a new UpdateSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest);
+
+ /** UpdateSpokeRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateSpokeRequest spoke. */
+ public spoke?: (google.cloud.networkconnectivity.v1alpha1.ISpoke|null);
+
+ /** UpdateSpokeRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest): google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest;
+
+ /**
+ * Encodes the specified UpdateSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest.verify|verify} messages.
+ * @param message UpdateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest.verify|verify} messages.
+ * @param message UpdateSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest;
+
+ /**
+ * Decodes an UpdateSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest;
+
+ /**
+ * Verifies an UpdateSpokeRequest message.
+ * @param message Plain 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 UpdateSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest;
+
+ /**
+ * Creates a plain object from an UpdateSpokeRequest message. Also converts values to other types if specified.
+ * @param message UpdateSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSpokeRequest. */
+ interface IDeleteSpokeRequest {
+
+ /** DeleteSpokeRequest name */
+ name?: (string|null);
+
+ /** DeleteSpokeRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteSpokeRequest. */
+ class DeleteSpokeRequest implements IDeleteSpokeRequest {
+
+ /**
+ * Constructs a new DeleteSpokeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest);
+
+ /** DeleteSpokeRequest name. */
+ public name: string;
+
+ /** DeleteSpokeRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteSpokeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSpokeRequest instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest): google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest;
+
+ /**
+ * Encodes the specified DeleteSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest.verify|verify} messages.
+ * @param message DeleteSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest.verify|verify} messages.
+ * @param message DeleteSpokeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSpokeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest;
+
+ /**
+ * Decodes a DeleteSpokeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest;
+
+ /**
+ * Verifies a DeleteSpokeRequest message.
+ * @param message Plain 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 DeleteSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSpokeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest;
+
+ /**
+ * Creates a plain object from a DeleteSpokeRequest message. Also converts values to other types if specified.
+ * @param message DeleteSpokeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSpokeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSpokeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RouterApplianceInstance. */
+ interface IRouterApplianceInstance {
+
+ /** RouterApplianceInstance virtualMachine */
+ virtualMachine?: (string|null);
+
+ /** RouterApplianceInstance ipAddress */
+ ipAddress?: (string|null);
+
+ /** RouterApplianceInstance networkInterface */
+ networkInterface?: (string|null);
+ }
+
+ /** Represents a RouterApplianceInstance. */
+ class RouterApplianceInstance implements IRouterApplianceInstance {
+
+ /**
+ * Constructs a new RouterApplianceInstance.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.networkconnectivity.v1alpha1.IRouterApplianceInstance);
+
+ /** RouterApplianceInstance virtualMachine. */
+ public virtualMachine: string;
+
+ /** RouterApplianceInstance ipAddress. */
+ public ipAddress: string;
+
+ /** RouterApplianceInstance networkInterface. */
+ public networkInterface: string;
+
+ /**
+ * Creates a new RouterApplianceInstance instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RouterApplianceInstance instance
+ */
+ public static create(properties?: google.cloud.networkconnectivity.v1alpha1.IRouterApplianceInstance): google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance;
+
+ /**
+ * Encodes the specified RouterApplianceInstance message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance.verify|verify} messages.
+ * @param message RouterApplianceInstance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.networkconnectivity.v1alpha1.IRouterApplianceInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RouterApplianceInstance message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance.verify|verify} messages.
+ * @param message RouterApplianceInstance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.networkconnectivity.v1alpha1.IRouterApplianceInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RouterApplianceInstance message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RouterApplianceInstance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance;
+
+ /**
+ * Decodes a RouterApplianceInstance message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RouterApplianceInstance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance;
+
+ /**
+ * Verifies a RouterApplianceInstance message.
+ * @param message Plain 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 RouterApplianceInstance message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RouterApplianceInstance
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance;
+
+ /**
+ * Creates a plain object from a RouterApplianceInstance message. Also converts values to other types if specified.
+ * @param message RouterApplianceInstance
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RouterApplianceInstance to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RouterApplianceInstance
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ CREATING = 1,
+ ACTIVE = 2,
+ DELETING = 3
+ }
+ }
+ }
+ }
+
+ /** 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
+ }
+
+ /** 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;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** 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 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?: (string|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 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: string;
+
+ /**
+ * 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);
+ }
+
+ /** 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[];
+
+ /**
+ * 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);
+ }
+
+ /** 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[];
+
+ /**
+ * 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;
+ }
+
+ /** 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_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** 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);
+ }
+
+ /** 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[];
+
+ /**
+ * 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 phpGenericServices */
+ phpGenericServices?: (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 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 phpGenericServices. */
+ public phpGenericServices: 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 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 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 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 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 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
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** 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 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 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 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 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 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 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);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** 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 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 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|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|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 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
+ }
+ }
+ }
+
+ /** 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 Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|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|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 Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;
+
+ /**
+ * Verifies a FieldMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** 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;
+ }
+ }
+
+ /** 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;
+ }
+ }
+}
diff --git a/packages/google-cloud-networkconnectivity/protos/protos.js b/packages/google-cloud-networkconnectivity/protos/protos.js
new file mode 100644
index 00000000000..ac7ccbe7d4a
--- /dev/null
+++ b/packages/google-cloud-networkconnectivity/protos/protos.js
@@ -0,0 +1,29341 @@
+// Copyright 2022 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_network_connectivity_protos || ($protobuf.roots._google_cloud_network_connectivity_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.networkconnectivity = (function() {
+
+ /**
+ * Namespace networkconnectivity.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var networkconnectivity = {};
+
+ networkconnectivity.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.networkconnectivity
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.OperationMetadata = (function() {
+
+ /**
+ * Properties of an OperationMetadata.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IOperationMetadata
+ * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] OperationMetadata endTime
+ * @property {string|null} [target] OperationMetadata target
+ * @property {string|null} [verb] OperationMetadata verb
+ * @property {string|null} [statusMessage] OperationMetadata statusMessage
+ * @property {boolean|null} [requestedCancellation] OperationMetadata requestedCancellation
+ * @property {string|null} [apiVersion] OperationMetadata apiVersion
+ */
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents an OperationMetadata.
+ * @implements IOperationMetadata
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IOperationMetadata=} [properties] Properties to set
+ */
+ function OperationMetadata(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]];
+ }
+
+ /**
+ * OperationMetadata createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.createTime = null;
+
+ /**
+ * OperationMetadata endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.endTime = null;
+
+ /**
+ * OperationMetadata target.
+ * @member {string} target
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.target = "";
+
+ /**
+ * OperationMetadata verb.
+ * @member {string} verb
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.verb = "";
+
+ /**
+ * OperationMetadata statusMessage.
+ * @member {string} statusMessage
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.statusMessage = "";
+
+ /**
+ * OperationMetadata requestedCancellation.
+ * @member {boolean} requestedCancellation
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.requestedCancellation = false;
+
+ /**
+ * OperationMetadata apiVersion.
+ * @member {string} apiVersion
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.apiVersion = "";
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IOperationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.OperationMetadata} OperationMetadata instance
+ */
+ OperationMetadata.create = function create(properties) {
+ return new OperationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.networkconnectivity.v1.OperationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IOperationMetadata} message OperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OperationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.target != null && Object.hasOwnProperty.call(message, "target"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.target);
+ if (message.verb != null && Object.hasOwnProperty.call(message, "verb"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.verb);
+ if (message.statusMessage != null && Object.hasOwnProperty.call(message, "statusMessage"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusMessage);
+ if (message.requestedCancellation != null && Object.hasOwnProperty.call(message, "requestedCancellation"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.requestedCancellation);
+ if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.apiVersion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.OperationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IOperationMetadata} message OperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.OperationMetadata} OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OperationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.OperationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.target = reader.string();
+ break;
+ }
+ case 4: {
+ message.verb = reader.string();
+ break;
+ }
+ case 5: {
+ message.statusMessage = reader.string();
+ break;
+ }
+ case 6: {
+ message.requestedCancellation = reader.bool();
+ break;
+ }
+ case 7: {
+ message.apiVersion = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.OperationMetadata} OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OperationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OperationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.target != null && message.hasOwnProperty("target"))
+ if (!$util.isString(message.target))
+ return "target: string expected";
+ if (message.verb != null && message.hasOwnProperty("verb"))
+ if (!$util.isString(message.verb))
+ return "verb: string expected";
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ if (!$util.isString(message.statusMessage))
+ return "statusMessage: string expected";
+ if (message.requestedCancellation != null && message.hasOwnProperty("requestedCancellation"))
+ if (typeof message.requestedCancellation !== "boolean")
+ return "requestedCancellation: boolean expected";
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ if (!$util.isString(message.apiVersion))
+ return "apiVersion: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.OperationMetadata} OperationMetadata
+ */
+ OperationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.OperationMetadata)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.OperationMetadata();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.OperationMetadata.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.OperationMetadata.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.target != null)
+ message.target = String(object.target);
+ if (object.verb != null)
+ message.verb = String(object.verb);
+ if (object.statusMessage != null)
+ message.statusMessage = String(object.statusMessage);
+ if (object.requestedCancellation != null)
+ message.requestedCancellation = Boolean(object.requestedCancellation);
+ if (object.apiVersion != null)
+ message.apiVersion = String(object.apiVersion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.OperationMetadata} message OperationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OperationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.createTime = null;
+ object.endTime = null;
+ object.target = "";
+ object.verb = "";
+ object.statusMessage = "";
+ object.requestedCancellation = false;
+ object.apiVersion = "";
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.target != null && message.hasOwnProperty("target"))
+ object.target = message.target;
+ if (message.verb != null && message.hasOwnProperty("verb"))
+ object.verb = message.verb;
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ object.statusMessage = message.statusMessage;
+ if (message.requestedCancellation != null && message.hasOwnProperty("requestedCancellation"))
+ object.requestedCancellation = message.requestedCancellation;
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ object.apiVersion = message.apiVersion;
+ return object;
+ };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OperationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.OperationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.OperationMetadata";
+ };
+
+ return OperationMetadata;
+ })();
+
+ v1.HubService = (function() {
+
+ /**
+ * Constructs a new HubService service.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a HubService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function HubService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (HubService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = HubService;
+
+ /**
+ * Creates new HubService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {HubService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ HubService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|listHubs}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef ListHubsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1.ListHubsResponse} [response] ListHubsResponse
+ */
+
+ /**
+ * Calls ListHubs.
+ * @function listHubs
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IListHubsRequest} request ListHubsRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.ListHubsCallback} callback Node-style callback called with the error, if any, and ListHubsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.listHubs = function listHubs(request, callback) {
+ return this.rpcCall(listHubs, $root.google.cloud.networkconnectivity.v1.ListHubsRequest, $root.google.cloud.networkconnectivity.v1.ListHubsResponse, request, callback);
+ }, "name", { value: "ListHubs" });
+
+ /**
+ * Calls ListHubs.
+ * @function listHubs
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IListHubsRequest} request ListHubsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|getHub}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef GetHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1.Hub} [response] Hub
+ */
+
+ /**
+ * Calls GetHub.
+ * @function getHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IGetHubRequest} request GetHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.GetHubCallback} callback Node-style callback called with the error, if any, and Hub
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.getHub = function getHub(request, callback) {
+ return this.rpcCall(getHub, $root.google.cloud.networkconnectivity.v1.GetHubRequest, $root.google.cloud.networkconnectivity.v1.Hub, request, callback);
+ }, "name", { value: "GetHub" });
+
+ /**
+ * Calls GetHub.
+ * @function getHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IGetHubRequest} request GetHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|createHub}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef CreateHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateHub.
+ * @function createHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.ICreateHubRequest} request CreateHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.CreateHubCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.createHub = function createHub(request, callback) {
+ return this.rpcCall(createHub, $root.google.cloud.networkconnectivity.v1.CreateHubRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateHub" });
+
+ /**
+ * Calls CreateHub.
+ * @function createHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.ICreateHubRequest} request CreateHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|updateHub}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef UpdateHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateHub.
+ * @function updateHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IUpdateHubRequest} request UpdateHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.UpdateHubCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.updateHub = function updateHub(request, callback) {
+ return this.rpcCall(updateHub, $root.google.cloud.networkconnectivity.v1.UpdateHubRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateHub" });
+
+ /**
+ * Calls UpdateHub.
+ * @function updateHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IUpdateHubRequest} request UpdateHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|deleteHub}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef DeleteHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteHub.
+ * @function deleteHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IDeleteHubRequest} request DeleteHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.DeleteHubCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.deleteHub = function deleteHub(request, callback) {
+ return this.rpcCall(deleteHub, $root.google.cloud.networkconnectivity.v1.DeleteHubRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteHub" });
+
+ /**
+ * Calls DeleteHub.
+ * @function deleteHub
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IDeleteHubRequest} request DeleteHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|listSpokes}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef ListSpokesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1.ListSpokesResponse} [response] ListSpokesResponse
+ */
+
+ /**
+ * Calls ListSpokes.
+ * @function listSpokes
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesRequest} request ListSpokesRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.ListSpokesCallback} callback Node-style callback called with the error, if any, and ListSpokesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.listSpokes = function listSpokes(request, callback) {
+ return this.rpcCall(listSpokes, $root.google.cloud.networkconnectivity.v1.ListSpokesRequest, $root.google.cloud.networkconnectivity.v1.ListSpokesResponse, request, callback);
+ }, "name", { value: "ListSpokes" });
+
+ /**
+ * Calls ListSpokes.
+ * @function listSpokes
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesRequest} request ListSpokesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|getSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef GetSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1.Spoke} [response] Spoke
+ */
+
+ /**
+ * Calls GetSpoke.
+ * @function getSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IGetSpokeRequest} request GetSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.GetSpokeCallback} callback Node-style callback called with the error, if any, and Spoke
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.getSpoke = function getSpoke(request, callback) {
+ return this.rpcCall(getSpoke, $root.google.cloud.networkconnectivity.v1.GetSpokeRequest, $root.google.cloud.networkconnectivity.v1.Spoke, request, callback);
+ }, "name", { value: "GetSpoke" });
+
+ /**
+ * Calls GetSpoke.
+ * @function getSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IGetSpokeRequest} request GetSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|createSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef CreateSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateSpoke.
+ * @function createSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.ICreateSpokeRequest} request CreateSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.CreateSpokeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.createSpoke = function createSpoke(request, callback) {
+ return this.rpcCall(createSpoke, $root.google.cloud.networkconnectivity.v1.CreateSpokeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateSpoke" });
+
+ /**
+ * Calls CreateSpoke.
+ * @function createSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.ICreateSpokeRequest} request CreateSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|updateSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef UpdateSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateSpoke.
+ * @function updateSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IUpdateSpokeRequest} request UpdateSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.UpdateSpokeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.updateSpoke = function updateSpoke(request, callback) {
+ return this.rpcCall(updateSpoke, $root.google.cloud.networkconnectivity.v1.UpdateSpokeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateSpoke" });
+
+ /**
+ * Calls UpdateSpoke.
+ * @function updateSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IUpdateSpokeRequest} request UpdateSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.HubService|deleteSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @typedef DeleteSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteSpoke.
+ * @function deleteSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IDeleteSpokeRequest} request DeleteSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.HubService.DeleteSpokeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.deleteSpoke = function deleteSpoke(request, callback) {
+ return this.rpcCall(deleteSpoke, $root.google.cloud.networkconnectivity.v1.DeleteSpokeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteSpoke" });
+
+ /**
+ * Calls DeleteSpoke.
+ * @function deleteSpoke
+ * @memberof google.cloud.networkconnectivity.v1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IDeleteSpokeRequest} request DeleteSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return HubService;
+ })();
+
+ /**
+ * LocationFeature enum.
+ * @name google.cloud.networkconnectivity.v1.LocationFeature
+ * @enum {number}
+ * @property {number} LOCATION_FEATURE_UNSPECIFIED=0 LOCATION_FEATURE_UNSPECIFIED value
+ * @property {number} SITE_TO_CLOUD_SPOKES=1 SITE_TO_CLOUD_SPOKES value
+ * @property {number} SITE_TO_SITE_SPOKES=2 SITE_TO_SITE_SPOKES value
+ */
+ v1.LocationFeature = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "LOCATION_FEATURE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SITE_TO_CLOUD_SPOKES"] = 1;
+ values[valuesById[2] = "SITE_TO_SITE_SPOKES"] = 2;
+ return values;
+ })();
+
+ /**
+ * State enum.
+ * @name google.cloud.networkconnectivity.v1.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} CREATING=1 CREATING value
+ * @property {number} ACTIVE=2 ACTIVE value
+ * @property {number} DELETING=3 DELETING value
+ * @property {number} UPDATING=6 UPDATING value
+ */
+ v1.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CREATING"] = 1;
+ values[valuesById[2] = "ACTIVE"] = 2;
+ values[valuesById[3] = "DELETING"] = 3;
+ values[valuesById[6] = "UPDATING"] = 6;
+ return values;
+ })();
+
+ v1.Hub = (function() {
+
+ /**
+ * Properties of a Hub.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IHub
+ * @property {string|null} [name] Hub name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Hub createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Hub updateTime
+ * @property {Object.|null} [labels] Hub labels
+ * @property {string|null} [description] Hub description
+ * @property {string|null} [uniqueId] Hub uniqueId
+ * @property {google.cloud.networkconnectivity.v1.State|null} [state] Hub state
+ * @property {Array.|null} [routingVpcs] Hub routingVpcs
+ */
+
+ /**
+ * Constructs a new Hub.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a Hub.
+ * @implements IHub
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IHub=} [properties] Properties to set
+ */
+ function Hub(properties) {
+ this.labels = {};
+ this.routingVpcs = [];
+ 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]];
+ }
+
+ /**
+ * Hub name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.name = "";
+
+ /**
+ * Hub createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.createTime = null;
+
+ /**
+ * Hub updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.updateTime = null;
+
+ /**
+ * Hub labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.labels = $util.emptyObject;
+
+ /**
+ * Hub description.
+ * @member {string} description
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.description = "";
+
+ /**
+ * Hub uniqueId.
+ * @member {string} uniqueId
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.uniqueId = "";
+
+ /**
+ * Hub state.
+ * @member {google.cloud.networkconnectivity.v1.State} state
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.state = 0;
+
+ /**
+ * Hub routingVpcs.
+ * @member {Array.} routingVpcs
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ */
+ Hub.prototype.routingVpcs = $util.emptyArray;
+
+ /**
+ * Creates a new Hub instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IHub=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.Hub} Hub instance
+ */
+ Hub.create = function create(properties) {
+ return new Hub(properties);
+ };
+
+ /**
+ * Encodes the specified Hub message. Does not implicitly {@link google.cloud.networkconnectivity.v1.Hub.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IHub} message Hub message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Hub.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.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.uniqueId != null && Object.hasOwnProperty.call(message, "uniqueId"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.uniqueId);
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.state);
+ if (message.routingVpcs != null && message.routingVpcs.length)
+ for (var i = 0; i < message.routingVpcs.length; ++i)
+ $root.google.cloud.networkconnectivity.v1.RoutingVPC.encode(message.routingVpcs[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Hub message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.Hub.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IHub} message Hub message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Hub.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.Hub} Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Hub.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.Hub(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 8: {
+ message.uniqueId = reader.string();
+ break;
+ }
+ case 9: {
+ message.state = reader.int32();
+ break;
+ }
+ case 10: {
+ if (!(message.routingVpcs && message.routingVpcs.length))
+ message.routingVpcs = [];
+ message.routingVpcs.push($root.google.cloud.networkconnectivity.v1.RoutingVPC.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.Hub} Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Hub.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Hub message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Hub.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.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ if (!$util.isString(message.uniqueId))
+ return "uniqueId: string expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 6:
+ break;
+ }
+ if (message.routingVpcs != null && message.hasOwnProperty("routingVpcs")) {
+ if (!Array.isArray(message.routingVpcs))
+ return "routingVpcs: array expected";
+ for (var i = 0; i < message.routingVpcs.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1.RoutingVPC.verify(message.routingVpcs[i]);
+ if (error)
+ return "routingVpcs." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Hub message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.Hub} Hub
+ */
+ Hub.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.Hub)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.Hub();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Hub.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Hub.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Hub.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.uniqueId != null)
+ message.uniqueId = String(object.uniqueId);
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "CREATING":
+ case 1:
+ message.state = 1;
+ break;
+ case "ACTIVE":
+ case 2:
+ message.state = 2;
+ break;
+ case "DELETING":
+ case 3:
+ message.state = 3;
+ break;
+ case "UPDATING":
+ case 6:
+ message.state = 6;
+ break;
+ }
+ if (object.routingVpcs) {
+ if (!Array.isArray(object.routingVpcs))
+ throw TypeError(".google.cloud.networkconnectivity.v1.Hub.routingVpcs: array expected");
+ message.routingVpcs = [];
+ for (var i = 0; i < object.routingVpcs.length; ++i) {
+ if (typeof object.routingVpcs[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Hub.routingVpcs: object expected");
+ message.routingVpcs[i] = $root.google.cloud.networkconnectivity.v1.RoutingVPC.fromObject(object.routingVpcs[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Hub message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.Hub} message Hub
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Hub.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.routingVpcs = [];
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.description = "";
+ object.uniqueId = "";
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ object.uniqueId = message.uniqueId;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.networkconnectivity.v1.State[message.state] === undefined ? message.state : $root.google.cloud.networkconnectivity.v1.State[message.state] : message.state;
+ if (message.routingVpcs && message.routingVpcs.length) {
+ object.routingVpcs = [];
+ for (var j = 0; j < message.routingVpcs.length; ++j)
+ object.routingVpcs[j] = $root.google.cloud.networkconnectivity.v1.RoutingVPC.toObject(message.routingVpcs[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Hub to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Hub.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Hub
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.Hub
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Hub.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.Hub";
+ };
+
+ return Hub;
+ })();
+
+ v1.RoutingVPC = (function() {
+
+ /**
+ * Properties of a RoutingVPC.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IRoutingVPC
+ * @property {string|null} [uri] RoutingVPC uri
+ * @property {boolean|null} [requiredForNewSiteToSiteDataTransferSpokes] RoutingVPC requiredForNewSiteToSiteDataTransferSpokes
+ */
+
+ /**
+ * Constructs a new RoutingVPC.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a RoutingVPC.
+ * @implements IRoutingVPC
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IRoutingVPC=} [properties] Properties to set
+ */
+ function RoutingVPC(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]];
+ }
+
+ /**
+ * RoutingVPC uri.
+ * @member {string} uri
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @instance
+ */
+ RoutingVPC.prototype.uri = "";
+
+ /**
+ * RoutingVPC requiredForNewSiteToSiteDataTransferSpokes.
+ * @member {boolean} requiredForNewSiteToSiteDataTransferSpokes
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @instance
+ */
+ RoutingVPC.prototype.requiredForNewSiteToSiteDataTransferSpokes = false;
+
+ /**
+ * Creates a new RoutingVPC instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IRoutingVPC=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.RoutingVPC} RoutingVPC instance
+ */
+ RoutingVPC.create = function create(properties) {
+ return new RoutingVPC(properties);
+ };
+
+ /**
+ * Encodes the specified RoutingVPC message. Does not implicitly {@link google.cloud.networkconnectivity.v1.RoutingVPC.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IRoutingVPC} message RoutingVPC message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RoutingVPC.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uri != null && Object.hasOwnProperty.call(message, "uri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri);
+ if (message.requiredForNewSiteToSiteDataTransferSpokes != null && Object.hasOwnProperty.call(message, "requiredForNewSiteToSiteDataTransferSpokes"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.requiredForNewSiteToSiteDataTransferSpokes);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RoutingVPC message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.RoutingVPC.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IRoutingVPC} message RoutingVPC message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RoutingVPC.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RoutingVPC message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.RoutingVPC} RoutingVPC
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RoutingVPC.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.RoutingVPC();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.uri = reader.string();
+ break;
+ }
+ case 2: {
+ message.requiredForNewSiteToSiteDataTransferSpokes = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RoutingVPC message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.RoutingVPC} RoutingVPC
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RoutingVPC.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RoutingVPC message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RoutingVPC.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ if (!$util.isString(message.uri))
+ return "uri: string expected";
+ if (message.requiredForNewSiteToSiteDataTransferSpokes != null && message.hasOwnProperty("requiredForNewSiteToSiteDataTransferSpokes"))
+ if (typeof message.requiredForNewSiteToSiteDataTransferSpokes !== "boolean")
+ return "requiredForNewSiteToSiteDataTransferSpokes: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a RoutingVPC message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.RoutingVPC} RoutingVPC
+ */
+ RoutingVPC.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.RoutingVPC)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.RoutingVPC();
+ if (object.uri != null)
+ message.uri = String(object.uri);
+ if (object.requiredForNewSiteToSiteDataTransferSpokes != null)
+ message.requiredForNewSiteToSiteDataTransferSpokes = Boolean(object.requiredForNewSiteToSiteDataTransferSpokes);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RoutingVPC message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.RoutingVPC} message RoutingVPC
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RoutingVPC.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.uri = "";
+ object.requiredForNewSiteToSiteDataTransferSpokes = false;
+ }
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ object.uri = message.uri;
+ if (message.requiredForNewSiteToSiteDataTransferSpokes != null && message.hasOwnProperty("requiredForNewSiteToSiteDataTransferSpokes"))
+ object.requiredForNewSiteToSiteDataTransferSpokes = message.requiredForNewSiteToSiteDataTransferSpokes;
+ return object;
+ };
+
+ /**
+ * Converts this RoutingVPC to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RoutingVPC.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RoutingVPC
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.RoutingVPC
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RoutingVPC.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.RoutingVPC";
+ };
+
+ return RoutingVPC;
+ })();
+
+ v1.Spoke = (function() {
+
+ /**
+ * Properties of a Spoke.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ISpoke
+ * @property {string|null} [name] Spoke name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Spoke createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Spoke updateTime
+ * @property {Object.|null} [labels] Spoke labels
+ * @property {string|null} [description] Spoke description
+ * @property {string|null} [hub] Spoke hub
+ * @property {google.cloud.networkconnectivity.v1.ILinkedVpnTunnels|null} [linkedVpnTunnels] Spoke linkedVpnTunnels
+ * @property {google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments|null} [linkedInterconnectAttachments] Spoke linkedInterconnectAttachments
+ * @property {google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances|null} [linkedRouterApplianceInstances] Spoke linkedRouterApplianceInstances
+ * @property {string|null} [uniqueId] Spoke uniqueId
+ * @property {google.cloud.networkconnectivity.v1.State|null} [state] Spoke state
+ */
+
+ /**
+ * Constructs a new Spoke.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a Spoke.
+ * @implements ISpoke
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ISpoke=} [properties] Properties to set
+ */
+ function Spoke(properties) {
+ this.labels = {};
+ 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]];
+ }
+
+ /**
+ * Spoke name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.name = "";
+
+ /**
+ * Spoke createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.createTime = null;
+
+ /**
+ * Spoke updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.updateTime = null;
+
+ /**
+ * Spoke labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.labels = $util.emptyObject;
+
+ /**
+ * Spoke description.
+ * @member {string} description
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.description = "";
+
+ /**
+ * Spoke hub.
+ * @member {string} hub
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.hub = "";
+
+ /**
+ * Spoke linkedVpnTunnels.
+ * @member {google.cloud.networkconnectivity.v1.ILinkedVpnTunnels|null|undefined} linkedVpnTunnels
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.linkedVpnTunnels = null;
+
+ /**
+ * Spoke linkedInterconnectAttachments.
+ * @member {google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments|null|undefined} linkedInterconnectAttachments
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.linkedInterconnectAttachments = null;
+
+ /**
+ * Spoke linkedRouterApplianceInstances.
+ * @member {google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances|null|undefined} linkedRouterApplianceInstances
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.linkedRouterApplianceInstances = null;
+
+ /**
+ * Spoke uniqueId.
+ * @member {string} uniqueId
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.uniqueId = "";
+
+ /**
+ * Spoke state.
+ * @member {google.cloud.networkconnectivity.v1.State} state
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ */
+ Spoke.prototype.state = 0;
+
+ /**
+ * Creates a new Spoke instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ISpoke=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.Spoke} Spoke instance
+ */
+ Spoke.create = function create(properties) {
+ return new Spoke(properties);
+ };
+
+ /**
+ * Encodes the specified Spoke message. Does not implicitly {@link google.cloud.networkconnectivity.v1.Spoke.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ISpoke} message Spoke message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Spoke.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.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.hub != null && Object.hasOwnProperty.call(message, "hub"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.hub);
+ if (message.uniqueId != null && Object.hasOwnProperty.call(message, "uniqueId"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.uniqueId);
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 15, wireType 0 =*/120).int32(message.state);
+ if (message.linkedVpnTunnels != null && Object.hasOwnProperty.call(message, "linkedVpnTunnels"))
+ $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels.encode(message.linkedVpnTunnels, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();
+ if (message.linkedInterconnectAttachments != null && Object.hasOwnProperty.call(message, "linkedInterconnectAttachments"))
+ $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.encode(message.linkedInterconnectAttachments, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
+ if (message.linkedRouterApplianceInstances != null && Object.hasOwnProperty.call(message, "linkedRouterApplianceInstances"))
+ $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.encode(message.linkedRouterApplianceInstances, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Spoke message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.Spoke.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ISpoke} message Spoke message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Spoke.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.Spoke} Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Spoke.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.Spoke(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ message.hub = reader.string();
+ break;
+ }
+ case 17: {
+ message.linkedVpnTunnels = $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels.decode(reader, reader.uint32());
+ break;
+ }
+ case 18: {
+ message.linkedInterconnectAttachments = $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.decode(reader, reader.uint32());
+ break;
+ }
+ case 19: {
+ message.linkedRouterApplianceInstances = $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.uniqueId = reader.string();
+ break;
+ }
+ case 15: {
+ message.state = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.Spoke} Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Spoke.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Spoke message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Spoke.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.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.hub != null && message.hasOwnProperty("hub"))
+ if (!$util.isString(message.hub))
+ return "hub: string expected";
+ if (message.linkedVpnTunnels != null && message.hasOwnProperty("linkedVpnTunnels")) {
+ var error = $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels.verify(message.linkedVpnTunnels);
+ if (error)
+ return "linkedVpnTunnels." + error;
+ }
+ if (message.linkedInterconnectAttachments != null && message.hasOwnProperty("linkedInterconnectAttachments")) {
+ var error = $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.verify(message.linkedInterconnectAttachments);
+ if (error)
+ return "linkedInterconnectAttachments." + error;
+ }
+ if (message.linkedRouterApplianceInstances != null && message.hasOwnProperty("linkedRouterApplianceInstances")) {
+ var error = $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.verify(message.linkedRouterApplianceInstances);
+ if (error)
+ return "linkedRouterApplianceInstances." + error;
+ }
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ if (!$util.isString(message.uniqueId))
+ return "uniqueId: string expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 6:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Spoke message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.Spoke} Spoke
+ */
+ Spoke.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.Spoke)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.Spoke();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Spoke.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Spoke.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Spoke.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.hub != null)
+ message.hub = String(object.hub);
+ if (object.linkedVpnTunnels != null) {
+ if (typeof object.linkedVpnTunnels !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Spoke.linkedVpnTunnels: object expected");
+ message.linkedVpnTunnels = $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels.fromObject(object.linkedVpnTunnels);
+ }
+ if (object.linkedInterconnectAttachments != null) {
+ if (typeof object.linkedInterconnectAttachments !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Spoke.linkedInterconnectAttachments: object expected");
+ message.linkedInterconnectAttachments = $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.fromObject(object.linkedInterconnectAttachments);
+ }
+ if (object.linkedRouterApplianceInstances != null) {
+ if (typeof object.linkedRouterApplianceInstances !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.Spoke.linkedRouterApplianceInstances: object expected");
+ message.linkedRouterApplianceInstances = $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.fromObject(object.linkedRouterApplianceInstances);
+ }
+ if (object.uniqueId != null)
+ message.uniqueId = String(object.uniqueId);
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "CREATING":
+ case 1:
+ message.state = 1;
+ break;
+ case "ACTIVE":
+ case 2:
+ message.state = 2;
+ break;
+ case "DELETING":
+ case 3:
+ message.state = 3;
+ break;
+ case "UPDATING":
+ case 6:
+ message.state = 6;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Spoke message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.Spoke} message Spoke
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Spoke.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.description = "";
+ object.hub = "";
+ object.uniqueId = "";
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.linkedVpnTunnels = null;
+ object.linkedInterconnectAttachments = null;
+ object.linkedRouterApplianceInstances = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.hub != null && message.hasOwnProperty("hub"))
+ object.hub = message.hub;
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ object.uniqueId = message.uniqueId;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.networkconnectivity.v1.State[message.state] === undefined ? message.state : $root.google.cloud.networkconnectivity.v1.State[message.state] : message.state;
+ if (message.linkedVpnTunnels != null && message.hasOwnProperty("linkedVpnTunnels"))
+ object.linkedVpnTunnels = $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels.toObject(message.linkedVpnTunnels, options);
+ if (message.linkedInterconnectAttachments != null && message.hasOwnProperty("linkedInterconnectAttachments"))
+ object.linkedInterconnectAttachments = $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.toObject(message.linkedInterconnectAttachments, options);
+ if (message.linkedRouterApplianceInstances != null && message.hasOwnProperty("linkedRouterApplianceInstances"))
+ object.linkedRouterApplianceInstances = $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.toObject(message.linkedRouterApplianceInstances, options);
+ return object;
+ };
+
+ /**
+ * Converts this Spoke to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Spoke.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Spoke
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.Spoke
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Spoke.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.Spoke";
+ };
+
+ return Spoke;
+ })();
+
+ v1.ListHubsRequest = (function() {
+
+ /**
+ * Properties of a ListHubsRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IListHubsRequest
+ * @property {string|null} [parent] ListHubsRequest parent
+ * @property {number|null} [pageSize] ListHubsRequest pageSize
+ * @property {string|null} [pageToken] ListHubsRequest pageToken
+ * @property {string|null} [filter] ListHubsRequest filter
+ * @property {string|null} [orderBy] ListHubsRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListHubsRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a ListHubsRequest.
+ * @implements IListHubsRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IListHubsRequest=} [properties] Properties to set
+ */
+ function ListHubsRequest(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]];
+ }
+
+ /**
+ * ListHubsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.parent = "";
+
+ /**
+ * ListHubsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListHubsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.pageToken = "";
+
+ /**
+ * ListHubsRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.filter = "";
+
+ /**
+ * ListHubsRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListHubsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListHubsRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsRequest} ListHubsRequest instance
+ */
+ ListHubsRequest.create = function create(properties) {
+ return new ListHubsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListHubsRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListHubsRequest} message ListHubsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListHubsRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListHubsRequest} message ListHubsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsRequest} ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.ListHubsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsRequest} ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListHubsRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListHubsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListHubsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsRequest} ListHubsRequest
+ */
+ ListHubsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.ListHubsRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.ListHubsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListHubsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ListHubsRequest} message ListHubsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListHubsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListHubsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListHubsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListHubsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListHubsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.ListHubsRequest";
+ };
+
+ return ListHubsRequest;
+ })();
+
+ v1.ListHubsResponse = (function() {
+
+ /**
+ * Properties of a ListHubsResponse.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IListHubsResponse
+ * @property {Array.|null} [hubs] ListHubsResponse hubs
+ * @property {string|null} [nextPageToken] ListHubsResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListHubsResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListHubsResponse.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a ListHubsResponse.
+ * @implements IListHubsResponse
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IListHubsResponse=} [properties] Properties to set
+ */
+ function ListHubsResponse(properties) {
+ this.hubs = [];
+ this.unreachable = [];
+ 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]];
+ }
+
+ /**
+ * ListHubsResponse hubs.
+ * @member {Array.} hubs
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @instance
+ */
+ ListHubsResponse.prototype.hubs = $util.emptyArray;
+
+ /**
+ * ListHubsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @instance
+ */
+ ListHubsResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListHubsResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @instance
+ */
+ ListHubsResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListHubsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListHubsResponse=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsResponse} ListHubsResponse instance
+ */
+ ListHubsResponse.create = function create(properties) {
+ return new ListHubsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListHubsResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListHubsResponse} message ListHubsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.hubs != null && message.hubs.length)
+ for (var i = 0; i < message.hubs.length; ++i)
+ $root.google.cloud.networkconnectivity.v1.Hub.encode(message.hubs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListHubsResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListHubsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListHubsResponse} message ListHubsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsResponse} ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.ListHubsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.hubs && message.hubs.length))
+ message.hubs = [];
+ message.hubs.push($root.google.cloud.networkconnectivity.v1.Hub.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsResponse} ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListHubsResponse message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListHubsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.hubs != null && message.hasOwnProperty("hubs")) {
+ if (!Array.isArray(message.hubs))
+ return "hubs: array expected";
+ for (var i = 0; i < message.hubs.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1.Hub.verify(message.hubs[i]);
+ if (error)
+ return "hubs." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListHubsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.ListHubsResponse} ListHubsResponse
+ */
+ ListHubsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.ListHubsResponse)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.ListHubsResponse();
+ if (object.hubs) {
+ if (!Array.isArray(object.hubs))
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListHubsResponse.hubs: array expected");
+ message.hubs = [];
+ for (var i = 0; i < object.hubs.length; ++i) {
+ if (typeof object.hubs[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListHubsResponse.hubs: object expected");
+ message.hubs[i] = $root.google.cloud.networkconnectivity.v1.Hub.fromObject(object.hubs[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListHubsResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListHubsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ListHubsResponse} message ListHubsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListHubsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.hubs = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.hubs && message.hubs.length) {
+ object.hubs = [];
+ for (var j = 0; j < message.hubs.length; ++j)
+ object.hubs[j] = $root.google.cloud.networkconnectivity.v1.Hub.toObject(message.hubs[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListHubsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListHubsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListHubsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.ListHubsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListHubsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.ListHubsResponse";
+ };
+
+ return ListHubsResponse;
+ })();
+
+ v1.GetHubRequest = (function() {
+
+ /**
+ * Properties of a GetHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IGetHubRequest
+ * @property {string|null} [name] GetHubRequest name
+ */
+
+ /**
+ * Constructs a new GetHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a GetHubRequest.
+ * @implements IGetHubRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IGetHubRequest=} [properties] Properties to set
+ */
+ function GetHubRequest(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]];
+ }
+
+ /**
+ * GetHubRequest name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @instance
+ */
+ GetHubRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetHubRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetHubRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.GetHubRequest} GetHubRequest instance
+ */
+ GetHubRequest.create = function create(properties) {
+ return new GetHubRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetHubRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetHubRequest} message GetHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetHubRequest.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);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetHubRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetHubRequest} message GetHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetHubRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.GetHubRequest} GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetHubRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.GetHubRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.GetHubRequest} GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetHubRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetHubRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetHubRequest.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";
+ return null;
+ };
+
+ /**
+ * Creates a GetHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.GetHubRequest} GetHubRequest
+ */
+ GetHubRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.GetHubRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.GetHubRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetHubRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.GetHubRequest} message GetHubRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetHubRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetHubRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetHubRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetHubRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.GetHubRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetHubRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.GetHubRequest";
+ };
+
+ return GetHubRequest;
+ })();
+
+ v1.CreateHubRequest = (function() {
+
+ /**
+ * Properties of a CreateHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ICreateHubRequest
+ * @property {string|null} [parent] CreateHubRequest parent
+ * @property {string|null} [hubId] CreateHubRequest hubId
+ * @property {google.cloud.networkconnectivity.v1.IHub|null} [hub] CreateHubRequest hub
+ * @property {string|null} [requestId] CreateHubRequest requestId
+ */
+
+ /**
+ * Constructs a new CreateHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a CreateHubRequest.
+ * @implements ICreateHubRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ICreateHubRequest=} [properties] Properties to set
+ */
+ function CreateHubRequest(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]];
+ }
+
+ /**
+ * CreateHubRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @instance
+ */
+ CreateHubRequest.prototype.parent = "";
+
+ /**
+ * CreateHubRequest hubId.
+ * @member {string} hubId
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @instance
+ */
+ CreateHubRequest.prototype.hubId = "";
+
+ /**
+ * CreateHubRequest hub.
+ * @member {google.cloud.networkconnectivity.v1.IHub|null|undefined} hub
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @instance
+ */
+ CreateHubRequest.prototype.hub = null;
+
+ /**
+ * CreateHubRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @instance
+ */
+ CreateHubRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new CreateHubRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreateHubRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.CreateHubRequest} CreateHubRequest instance
+ */
+ CreateHubRequest.create = function create(properties) {
+ return new CreateHubRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateHubRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreateHubRequest} message CreateHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateHubRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.hubId != null && Object.hasOwnProperty.call(message, "hubId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.hubId);
+ if (message.hub != null && Object.hasOwnProperty.call(message, "hub"))
+ $root.google.cloud.networkconnectivity.v1.Hub.encode(message.hub, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateHubRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreateHubRequest} message CreateHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateHubRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateHubRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.CreateHubRequest} CreateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateHubRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.CreateHubRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.hubId = reader.string();
+ break;
+ }
+ case 3: {
+ message.hub = $root.google.cloud.networkconnectivity.v1.Hub.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateHubRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.CreateHubRequest} CreateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateHubRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateHubRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateHubRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.hubId != null && message.hasOwnProperty("hubId"))
+ if (!$util.isString(message.hubId))
+ return "hubId: string expected";
+ if (message.hub != null && message.hasOwnProperty("hub")) {
+ var error = $root.google.cloud.networkconnectivity.v1.Hub.verify(message.hub);
+ if (error)
+ return "hub." + error;
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CreateHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.CreateHubRequest} CreateHubRequest
+ */
+ CreateHubRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.CreateHubRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.CreateHubRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.hubId != null)
+ message.hubId = String(object.hubId);
+ if (object.hub != null) {
+ if (typeof object.hub !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.CreateHubRequest.hub: object expected");
+ message.hub = $root.google.cloud.networkconnectivity.v1.Hub.fromObject(object.hub);
+ }
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateHubRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.CreateHubRequest} message CreateHubRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateHubRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.hubId = "";
+ object.hub = null;
+ object.requestId = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.hubId != null && message.hasOwnProperty("hubId"))
+ object.hubId = message.hubId;
+ if (message.hub != null && message.hasOwnProperty("hub"))
+ object.hub = $root.google.cloud.networkconnectivity.v1.Hub.toObject(message.hub, options);
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this CreateHubRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateHubRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateHubRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.CreateHubRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateHubRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.CreateHubRequest";
+ };
+
+ return CreateHubRequest;
+ })();
+
+ v1.UpdateHubRequest = (function() {
+
+ /**
+ * Properties of an UpdateHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IUpdateHubRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateHubRequest updateMask
+ * @property {google.cloud.networkconnectivity.v1.IHub|null} [hub] UpdateHubRequest hub
+ * @property {string|null} [requestId] UpdateHubRequest requestId
+ */
+
+ /**
+ * Constructs a new UpdateHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents an UpdateHubRequest.
+ * @implements IUpdateHubRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IUpdateHubRequest=} [properties] Properties to set
+ */
+ function UpdateHubRequest(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]];
+ }
+
+ /**
+ * UpdateHubRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @instance
+ */
+ UpdateHubRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateHubRequest hub.
+ * @member {google.cloud.networkconnectivity.v1.IHub|null|undefined} hub
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @instance
+ */
+ UpdateHubRequest.prototype.hub = null;
+
+ /**
+ * UpdateHubRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @instance
+ */
+ UpdateHubRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new UpdateHubRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IUpdateHubRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.UpdateHubRequest} UpdateHubRequest instance
+ */
+ UpdateHubRequest.create = function create(properties) {
+ return new UpdateHubRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateHubRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IUpdateHubRequest} message UpdateHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateHubRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.hub != null && Object.hasOwnProperty.call(message, "hub"))
+ $root.google.cloud.networkconnectivity.v1.Hub.encode(message.hub, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateHubRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IUpdateHubRequest} message UpdateHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateHubRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateHubRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.UpdateHubRequest} UpdateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateHubRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.UpdateHubRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.hub = $root.google.cloud.networkconnectivity.v1.Hub.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateHubRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.UpdateHubRequest} UpdateHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateHubRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateHubRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateHubRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ if (message.hub != null && message.hasOwnProperty("hub")) {
+ var error = $root.google.cloud.networkconnectivity.v1.Hub.verify(message.hub);
+ if (error)
+ return "hub." + error;
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UpdateHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.UpdateHubRequest} UpdateHubRequest
+ */
+ UpdateHubRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.UpdateHubRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.UpdateHubRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.UpdateHubRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.hub != null) {
+ if (typeof object.hub !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.UpdateHubRequest.hub: object expected");
+ message.hub = $root.google.cloud.networkconnectivity.v1.Hub.fromObject(object.hub);
+ }
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateHubRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.UpdateHubRequest} message UpdateHubRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateHubRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.hub = null;
+ object.requestId = "";
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.hub != null && message.hasOwnProperty("hub"))
+ object.hub = $root.google.cloud.networkconnectivity.v1.Hub.toObject(message.hub, options);
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this UpdateHubRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateHubRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateHubRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.UpdateHubRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateHubRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.UpdateHubRequest";
+ };
+
+ return UpdateHubRequest;
+ })();
+
+ v1.DeleteHubRequest = (function() {
+
+ /**
+ * Properties of a DeleteHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IDeleteHubRequest
+ * @property {string|null} [name] DeleteHubRequest name
+ * @property {string|null} [requestId] DeleteHubRequest requestId
+ */
+
+ /**
+ * Constructs a new DeleteHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a DeleteHubRequest.
+ * @implements IDeleteHubRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IDeleteHubRequest=} [properties] Properties to set
+ */
+ function DeleteHubRequest(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]];
+ }
+
+ /**
+ * DeleteHubRequest name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @instance
+ */
+ DeleteHubRequest.prototype.name = "";
+
+ /**
+ * DeleteHubRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @instance
+ */
+ DeleteHubRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new DeleteHubRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeleteHubRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.DeleteHubRequest} DeleteHubRequest instance
+ */
+ DeleteHubRequest.create = function create(properties) {
+ return new DeleteHubRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteHubRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeleteHubRequest} message DeleteHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteHubRequest.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.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteHubRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeleteHubRequest} message DeleteHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteHubRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteHubRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.DeleteHubRequest} DeleteHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteHubRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.DeleteHubRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteHubRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.DeleteHubRequest} DeleteHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteHubRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteHubRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteHubRequest.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.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.DeleteHubRequest} DeleteHubRequest
+ */
+ DeleteHubRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.DeleteHubRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.DeleteHubRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteHubRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.DeleteHubRequest} message DeleteHubRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteHubRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.requestId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteHubRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteHubRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteHubRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.DeleteHubRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteHubRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.DeleteHubRequest";
+ };
+
+ return DeleteHubRequest;
+ })();
+
+ v1.ListSpokesRequest = (function() {
+
+ /**
+ * Properties of a ListSpokesRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IListSpokesRequest
+ * @property {string|null} [parent] ListSpokesRequest parent
+ * @property {number|null} [pageSize] ListSpokesRequest pageSize
+ * @property {string|null} [pageToken] ListSpokesRequest pageToken
+ * @property {string|null} [filter] ListSpokesRequest filter
+ * @property {string|null} [orderBy] ListSpokesRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListSpokesRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a ListSpokesRequest.
+ * @implements IListSpokesRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesRequest=} [properties] Properties to set
+ */
+ function ListSpokesRequest(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]];
+ }
+
+ /**
+ * ListSpokesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @instance
+ */
+ ListSpokesRequest.prototype.parent = "";
+
+ /**
+ * ListSpokesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @instance
+ */
+ ListSpokesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListSpokesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @instance
+ */
+ ListSpokesRequest.prototype.pageToken = "";
+
+ /**
+ * ListSpokesRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @instance
+ */
+ ListSpokesRequest.prototype.filter = "";
+
+ /**
+ * ListSpokesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @instance
+ */
+ ListSpokesRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListSpokesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesRequest} ListSpokesRequest instance
+ */
+ ListSpokesRequest.create = function create(properties) {
+ return new ListSpokesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListSpokesRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesRequest} message ListSpokesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListSpokesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListSpokesRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesRequest} message ListSpokesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListSpokesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListSpokesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesRequest} ListSpokesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListSpokesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.ListSpokesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListSpokesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesRequest} ListSpokesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListSpokesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListSpokesRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListSpokesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListSpokesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesRequest} ListSpokesRequest
+ */
+ ListSpokesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.ListSpokesRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.ListSpokesRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListSpokesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ListSpokesRequest} message ListSpokesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListSpokesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListSpokesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListSpokesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListSpokesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListSpokesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.ListSpokesRequest";
+ };
+
+ return ListSpokesRequest;
+ })();
+
+ v1.ListSpokesResponse = (function() {
+
+ /**
+ * Properties of a ListSpokesResponse.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IListSpokesResponse
+ * @property {Array.|null} [spokes] ListSpokesResponse spokes
+ * @property {string|null} [nextPageToken] ListSpokesResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListSpokesResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListSpokesResponse.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a ListSpokesResponse.
+ * @implements IListSpokesResponse
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesResponse=} [properties] Properties to set
+ */
+ function ListSpokesResponse(properties) {
+ this.spokes = [];
+ this.unreachable = [];
+ 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]];
+ }
+
+ /**
+ * ListSpokesResponse spokes.
+ * @member {Array.} spokes
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @instance
+ */
+ ListSpokesResponse.prototype.spokes = $util.emptyArray;
+
+ /**
+ * ListSpokesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @instance
+ */
+ ListSpokesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListSpokesResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @instance
+ */
+ ListSpokesResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListSpokesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesResponse=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesResponse} ListSpokesResponse instance
+ */
+ ListSpokesResponse.create = function create(properties) {
+ return new ListSpokesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListSpokesResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesResponse} message ListSpokesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListSpokesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.spokes != null && message.spokes.length)
+ for (var i = 0; i < message.spokes.length; ++i)
+ $root.google.cloud.networkconnectivity.v1.Spoke.encode(message.spokes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListSpokesResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListSpokesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListSpokesResponse} message ListSpokesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListSpokesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListSpokesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesResponse} ListSpokesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListSpokesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.ListSpokesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.spokes && message.spokes.length))
+ message.spokes = [];
+ message.spokes.push($root.google.cloud.networkconnectivity.v1.Spoke.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListSpokesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesResponse} ListSpokesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListSpokesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListSpokesResponse message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListSpokesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.spokes != null && message.hasOwnProperty("spokes")) {
+ if (!Array.isArray(message.spokes))
+ return "spokes: array expected";
+ for (var i = 0; i < message.spokes.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1.Spoke.verify(message.spokes[i]);
+ if (error)
+ return "spokes." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListSpokesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.ListSpokesResponse} ListSpokesResponse
+ */
+ ListSpokesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.ListSpokesResponse)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.ListSpokesResponse();
+ if (object.spokes) {
+ if (!Array.isArray(object.spokes))
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListSpokesResponse.spokes: array expected");
+ message.spokes = [];
+ for (var i = 0; i < object.spokes.length; ++i) {
+ if (typeof object.spokes[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListSpokesResponse.spokes: object expected");
+ message.spokes[i] = $root.google.cloud.networkconnectivity.v1.Spoke.fromObject(object.spokes[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListSpokesResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListSpokesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ListSpokesResponse} message ListSpokesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListSpokesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.spokes = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.spokes && message.spokes.length) {
+ object.spokes = [];
+ for (var j = 0; j < message.spokes.length; ++j)
+ object.spokes[j] = $root.google.cloud.networkconnectivity.v1.Spoke.toObject(message.spokes[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListSpokesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListSpokesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListSpokesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.ListSpokesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListSpokesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.ListSpokesResponse";
+ };
+
+ return ListSpokesResponse;
+ })();
+
+ v1.GetSpokeRequest = (function() {
+
+ /**
+ * Properties of a GetSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IGetSpokeRequest
+ * @property {string|null} [name] GetSpokeRequest name
+ */
+
+ /**
+ * Constructs a new GetSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a GetSpokeRequest.
+ * @implements IGetSpokeRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IGetSpokeRequest=} [properties] Properties to set
+ */
+ function GetSpokeRequest(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]];
+ }
+
+ /**
+ * GetSpokeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @instance
+ */
+ GetSpokeRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetSpokeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetSpokeRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.GetSpokeRequest} GetSpokeRequest instance
+ */
+ GetSpokeRequest.create = function create(properties) {
+ return new GetSpokeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetSpokeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetSpokeRequest} message GetSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetSpokeRequest.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);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetSpokeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetSpokeRequest} message GetSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetSpokeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetSpokeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.GetSpokeRequest} GetSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetSpokeRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.GetSpokeRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetSpokeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.GetSpokeRequest} GetSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetSpokeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetSpokeRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetSpokeRequest.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";
+ return null;
+ };
+
+ /**
+ * Creates a GetSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.GetSpokeRequest} GetSpokeRequest
+ */
+ GetSpokeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.GetSpokeRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.GetSpokeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetSpokeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.GetSpokeRequest} message GetSpokeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetSpokeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetSpokeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetSpokeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetSpokeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.GetSpokeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetSpokeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.GetSpokeRequest";
+ };
+
+ return GetSpokeRequest;
+ })();
+
+ v1.CreateSpokeRequest = (function() {
+
+ /**
+ * Properties of a CreateSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ICreateSpokeRequest
+ * @property {string|null} [parent] CreateSpokeRequest parent
+ * @property {string|null} [spokeId] CreateSpokeRequest spokeId
+ * @property {google.cloud.networkconnectivity.v1.ISpoke|null} [spoke] CreateSpokeRequest spoke
+ * @property {string|null} [requestId] CreateSpokeRequest requestId
+ */
+
+ /**
+ * Constructs a new CreateSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a CreateSpokeRequest.
+ * @implements ICreateSpokeRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ICreateSpokeRequest=} [properties] Properties to set
+ */
+ function CreateSpokeRequest(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]];
+ }
+
+ /**
+ * CreateSpokeRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @instance
+ */
+ CreateSpokeRequest.prototype.parent = "";
+
+ /**
+ * CreateSpokeRequest spokeId.
+ * @member {string} spokeId
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @instance
+ */
+ CreateSpokeRequest.prototype.spokeId = "";
+
+ /**
+ * CreateSpokeRequest spoke.
+ * @member {google.cloud.networkconnectivity.v1.ISpoke|null|undefined} spoke
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @instance
+ */
+ CreateSpokeRequest.prototype.spoke = null;
+
+ /**
+ * CreateSpokeRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @instance
+ */
+ CreateSpokeRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new CreateSpokeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreateSpokeRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.CreateSpokeRequest} CreateSpokeRequest instance
+ */
+ CreateSpokeRequest.create = function create(properties) {
+ return new CreateSpokeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateSpokeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreateSpokeRequest} message CreateSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateSpokeRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.spokeId != null && Object.hasOwnProperty.call(message, "spokeId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.spokeId);
+ if (message.spoke != null && Object.hasOwnProperty.call(message, "spoke"))
+ $root.google.cloud.networkconnectivity.v1.Spoke.encode(message.spoke, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreateSpokeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreateSpokeRequest} message CreateSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateSpokeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateSpokeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.CreateSpokeRequest} CreateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateSpokeRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.CreateSpokeRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.spokeId = reader.string();
+ break;
+ }
+ case 3: {
+ message.spoke = $root.google.cloud.networkconnectivity.v1.Spoke.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateSpokeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.CreateSpokeRequest} CreateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateSpokeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateSpokeRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateSpokeRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.spokeId != null && message.hasOwnProperty("spokeId"))
+ if (!$util.isString(message.spokeId))
+ return "spokeId: string expected";
+ if (message.spoke != null && message.hasOwnProperty("spoke")) {
+ var error = $root.google.cloud.networkconnectivity.v1.Spoke.verify(message.spoke);
+ if (error)
+ return "spoke." + error;
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CreateSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.CreateSpokeRequest} CreateSpokeRequest
+ */
+ CreateSpokeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.CreateSpokeRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.CreateSpokeRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.spokeId != null)
+ message.spokeId = String(object.spokeId);
+ if (object.spoke != null) {
+ if (typeof object.spoke !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.CreateSpokeRequest.spoke: object expected");
+ message.spoke = $root.google.cloud.networkconnectivity.v1.Spoke.fromObject(object.spoke);
+ }
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateSpokeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.CreateSpokeRequest} message CreateSpokeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateSpokeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.spokeId = "";
+ object.spoke = null;
+ object.requestId = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.spokeId != null && message.hasOwnProperty("spokeId"))
+ object.spokeId = message.spokeId;
+ if (message.spoke != null && message.hasOwnProperty("spoke"))
+ object.spoke = $root.google.cloud.networkconnectivity.v1.Spoke.toObject(message.spoke, options);
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this CreateSpokeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateSpokeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateSpokeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.CreateSpokeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateSpokeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.CreateSpokeRequest";
+ };
+
+ return CreateSpokeRequest;
+ })();
+
+ v1.UpdateSpokeRequest = (function() {
+
+ /**
+ * Properties of an UpdateSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IUpdateSpokeRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateSpokeRequest updateMask
+ * @property {google.cloud.networkconnectivity.v1.ISpoke|null} [spoke] UpdateSpokeRequest spoke
+ * @property {string|null} [requestId] UpdateSpokeRequest requestId
+ */
+
+ /**
+ * Constructs a new UpdateSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents an UpdateSpokeRequest.
+ * @implements IUpdateSpokeRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IUpdateSpokeRequest=} [properties] Properties to set
+ */
+ function UpdateSpokeRequest(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]];
+ }
+
+ /**
+ * UpdateSpokeRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @instance
+ */
+ UpdateSpokeRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateSpokeRequest spoke.
+ * @member {google.cloud.networkconnectivity.v1.ISpoke|null|undefined} spoke
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @instance
+ */
+ UpdateSpokeRequest.prototype.spoke = null;
+
+ /**
+ * UpdateSpokeRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @instance
+ */
+ UpdateSpokeRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new UpdateSpokeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IUpdateSpokeRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.UpdateSpokeRequest} UpdateSpokeRequest instance
+ */
+ UpdateSpokeRequest.create = function create(properties) {
+ return new UpdateSpokeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateSpokeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IUpdateSpokeRequest} message UpdateSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateSpokeRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.spoke != null && Object.hasOwnProperty.call(message, "spoke"))
+ $root.google.cloud.networkconnectivity.v1.Spoke.encode(message.spoke, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.UpdateSpokeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IUpdateSpokeRequest} message UpdateSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateSpokeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateSpokeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.UpdateSpokeRequest} UpdateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateSpokeRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.UpdateSpokeRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.spoke = $root.google.cloud.networkconnectivity.v1.Spoke.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateSpokeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.UpdateSpokeRequest} UpdateSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateSpokeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateSpokeRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateSpokeRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ if (message.spoke != null && message.hasOwnProperty("spoke")) {
+ var error = $root.google.cloud.networkconnectivity.v1.Spoke.verify(message.spoke);
+ if (error)
+ return "spoke." + error;
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UpdateSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.UpdateSpokeRequest} UpdateSpokeRequest
+ */
+ UpdateSpokeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.UpdateSpokeRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.UpdateSpokeRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.UpdateSpokeRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.spoke != null) {
+ if (typeof object.spoke !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.UpdateSpokeRequest.spoke: object expected");
+ message.spoke = $root.google.cloud.networkconnectivity.v1.Spoke.fromObject(object.spoke);
+ }
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateSpokeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.UpdateSpokeRequest} message UpdateSpokeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateSpokeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.spoke = null;
+ object.requestId = "";
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.spoke != null && message.hasOwnProperty("spoke"))
+ object.spoke = $root.google.cloud.networkconnectivity.v1.Spoke.toObject(message.spoke, options);
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this UpdateSpokeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateSpokeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateSpokeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.UpdateSpokeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateSpokeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.UpdateSpokeRequest";
+ };
+
+ return UpdateSpokeRequest;
+ })();
+
+ v1.DeleteSpokeRequest = (function() {
+
+ /**
+ * Properties of a DeleteSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IDeleteSpokeRequest
+ * @property {string|null} [name] DeleteSpokeRequest name
+ * @property {string|null} [requestId] DeleteSpokeRequest requestId
+ */
+
+ /**
+ * Constructs a new DeleteSpokeRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a DeleteSpokeRequest.
+ * @implements IDeleteSpokeRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IDeleteSpokeRequest=} [properties] Properties to set
+ */
+ function DeleteSpokeRequest(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]];
+ }
+
+ /**
+ * DeleteSpokeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @instance
+ */
+ DeleteSpokeRequest.prototype.name = "";
+
+ /**
+ * DeleteSpokeRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @instance
+ */
+ DeleteSpokeRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new DeleteSpokeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeleteSpokeRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.DeleteSpokeRequest} DeleteSpokeRequest instance
+ */
+ DeleteSpokeRequest.create = function create(properties) {
+ return new DeleteSpokeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteSpokeRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteSpokeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeleteSpokeRequest} message DeleteSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteSpokeRequest.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.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteSpokeRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeleteSpokeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeleteSpokeRequest} message DeleteSpokeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteSpokeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteSpokeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.DeleteSpokeRequest} DeleteSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteSpokeRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.DeleteSpokeRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteSpokeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.DeleteSpokeRequest} DeleteSpokeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteSpokeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteSpokeRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteSpokeRequest.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.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteSpokeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.DeleteSpokeRequest} DeleteSpokeRequest
+ */
+ DeleteSpokeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.DeleteSpokeRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.DeleteSpokeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteSpokeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.DeleteSpokeRequest} message DeleteSpokeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteSpokeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.requestId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteSpokeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteSpokeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteSpokeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.DeleteSpokeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteSpokeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.DeleteSpokeRequest";
+ };
+
+ return DeleteSpokeRequest;
+ })();
+
+ v1.LinkedVpnTunnels = (function() {
+
+ /**
+ * Properties of a LinkedVpnTunnels.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ILinkedVpnTunnels
+ * @property {Array.|null} [uris] LinkedVpnTunnels uris
+ * @property {boolean|null} [siteToSiteDataTransfer] LinkedVpnTunnels siteToSiteDataTransfer
+ * @property {string|null} [vpcNetwork] LinkedVpnTunnels vpcNetwork
+ */
+
+ /**
+ * Constructs a new LinkedVpnTunnels.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a LinkedVpnTunnels.
+ * @implements ILinkedVpnTunnels
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ILinkedVpnTunnels=} [properties] Properties to set
+ */
+ function LinkedVpnTunnels(properties) {
+ this.uris = [];
+ 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]];
+ }
+
+ /**
+ * LinkedVpnTunnels uris.
+ * @member {Array.} uris
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @instance
+ */
+ LinkedVpnTunnels.prototype.uris = $util.emptyArray;
+
+ /**
+ * LinkedVpnTunnels siteToSiteDataTransfer.
+ * @member {boolean} siteToSiteDataTransfer
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @instance
+ */
+ LinkedVpnTunnels.prototype.siteToSiteDataTransfer = false;
+
+ /**
+ * LinkedVpnTunnels vpcNetwork.
+ * @member {string} vpcNetwork
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @instance
+ */
+ LinkedVpnTunnels.prototype.vpcNetwork = "";
+
+ /**
+ * Creates a new LinkedVpnTunnels instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedVpnTunnels=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.LinkedVpnTunnels} LinkedVpnTunnels instance
+ */
+ LinkedVpnTunnels.create = function create(properties) {
+ return new LinkedVpnTunnels(properties);
+ };
+
+ /**
+ * Encodes the specified LinkedVpnTunnels message. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedVpnTunnels.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedVpnTunnels} message LinkedVpnTunnels message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LinkedVpnTunnels.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uris != null && message.uris.length)
+ for (var i = 0; i < message.uris.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uris[i]);
+ if (message.siteToSiteDataTransfer != null && Object.hasOwnProperty.call(message, "siteToSiteDataTransfer"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.siteToSiteDataTransfer);
+ if (message.vpcNetwork != null && Object.hasOwnProperty.call(message, "vpcNetwork"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.vpcNetwork);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LinkedVpnTunnels message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedVpnTunnels.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedVpnTunnels} message LinkedVpnTunnels message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LinkedVpnTunnels.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LinkedVpnTunnels message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.LinkedVpnTunnels} LinkedVpnTunnels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LinkedVpnTunnels.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.uris && message.uris.length))
+ message.uris = [];
+ message.uris.push(reader.string());
+ break;
+ }
+ case 2: {
+ message.siteToSiteDataTransfer = reader.bool();
+ break;
+ }
+ case 3: {
+ message.vpcNetwork = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LinkedVpnTunnels message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.LinkedVpnTunnels} LinkedVpnTunnels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LinkedVpnTunnels.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LinkedVpnTunnels message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LinkedVpnTunnels.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uris != null && message.hasOwnProperty("uris")) {
+ if (!Array.isArray(message.uris))
+ return "uris: array expected";
+ for (var i = 0; i < message.uris.length; ++i)
+ if (!$util.isString(message.uris[i]))
+ return "uris: string[] expected";
+ }
+ if (message.siteToSiteDataTransfer != null && message.hasOwnProperty("siteToSiteDataTransfer"))
+ if (typeof message.siteToSiteDataTransfer !== "boolean")
+ return "siteToSiteDataTransfer: boolean expected";
+ if (message.vpcNetwork != null && message.hasOwnProperty("vpcNetwork"))
+ if (!$util.isString(message.vpcNetwork))
+ return "vpcNetwork: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a LinkedVpnTunnels message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.LinkedVpnTunnels} LinkedVpnTunnels
+ */
+ LinkedVpnTunnels.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.LinkedVpnTunnels();
+ if (object.uris) {
+ if (!Array.isArray(object.uris))
+ throw TypeError(".google.cloud.networkconnectivity.v1.LinkedVpnTunnels.uris: array expected");
+ message.uris = [];
+ for (var i = 0; i < object.uris.length; ++i)
+ message.uris[i] = String(object.uris[i]);
+ }
+ if (object.siteToSiteDataTransfer != null)
+ message.siteToSiteDataTransfer = Boolean(object.siteToSiteDataTransfer);
+ if (object.vpcNetwork != null)
+ message.vpcNetwork = String(object.vpcNetwork);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LinkedVpnTunnels message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.LinkedVpnTunnels} message LinkedVpnTunnels
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LinkedVpnTunnels.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uris = [];
+ if (options.defaults) {
+ object.siteToSiteDataTransfer = false;
+ object.vpcNetwork = "";
+ }
+ if (message.uris && message.uris.length) {
+ object.uris = [];
+ for (var j = 0; j < message.uris.length; ++j)
+ object.uris[j] = message.uris[j];
+ }
+ if (message.siteToSiteDataTransfer != null && message.hasOwnProperty("siteToSiteDataTransfer"))
+ object.siteToSiteDataTransfer = message.siteToSiteDataTransfer;
+ if (message.vpcNetwork != null && message.hasOwnProperty("vpcNetwork"))
+ object.vpcNetwork = message.vpcNetwork;
+ return object;
+ };
+
+ /**
+ * Converts this LinkedVpnTunnels to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LinkedVpnTunnels.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LinkedVpnTunnels
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.LinkedVpnTunnels
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LinkedVpnTunnels.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.LinkedVpnTunnels";
+ };
+
+ return LinkedVpnTunnels;
+ })();
+
+ v1.LinkedInterconnectAttachments = (function() {
+
+ /**
+ * Properties of a LinkedInterconnectAttachments.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ILinkedInterconnectAttachments
+ * @property {Array.|null} [uris] LinkedInterconnectAttachments uris
+ * @property {boolean|null} [siteToSiteDataTransfer] LinkedInterconnectAttachments siteToSiteDataTransfer
+ * @property {string|null} [vpcNetwork] LinkedInterconnectAttachments vpcNetwork
+ */
+
+ /**
+ * Constructs a new LinkedInterconnectAttachments.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a LinkedInterconnectAttachments.
+ * @implements ILinkedInterconnectAttachments
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments=} [properties] Properties to set
+ */
+ function LinkedInterconnectAttachments(properties) {
+ this.uris = [];
+ 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]];
+ }
+
+ /**
+ * LinkedInterconnectAttachments uris.
+ * @member {Array.} uris
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @instance
+ */
+ LinkedInterconnectAttachments.prototype.uris = $util.emptyArray;
+
+ /**
+ * LinkedInterconnectAttachments siteToSiteDataTransfer.
+ * @member {boolean} siteToSiteDataTransfer
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @instance
+ */
+ LinkedInterconnectAttachments.prototype.siteToSiteDataTransfer = false;
+
+ /**
+ * LinkedInterconnectAttachments vpcNetwork.
+ * @member {string} vpcNetwork
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @instance
+ */
+ LinkedInterconnectAttachments.prototype.vpcNetwork = "";
+
+ /**
+ * Creates a new LinkedInterconnectAttachments instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments} LinkedInterconnectAttachments instance
+ */
+ LinkedInterconnectAttachments.create = function create(properties) {
+ return new LinkedInterconnectAttachments(properties);
+ };
+
+ /**
+ * Encodes the specified LinkedInterconnectAttachments message. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments} message LinkedInterconnectAttachments message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LinkedInterconnectAttachments.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uris != null && message.uris.length)
+ for (var i = 0; i < message.uris.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uris[i]);
+ if (message.siteToSiteDataTransfer != null && Object.hasOwnProperty.call(message, "siteToSiteDataTransfer"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.siteToSiteDataTransfer);
+ if (message.vpcNetwork != null && Object.hasOwnProperty.call(message, "vpcNetwork"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.vpcNetwork);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LinkedInterconnectAttachments message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedInterconnectAttachments} message LinkedInterconnectAttachments message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LinkedInterconnectAttachments.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LinkedInterconnectAttachments message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments} LinkedInterconnectAttachments
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LinkedInterconnectAttachments.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.uris && message.uris.length))
+ message.uris = [];
+ message.uris.push(reader.string());
+ break;
+ }
+ case 2: {
+ message.siteToSiteDataTransfer = reader.bool();
+ break;
+ }
+ case 3: {
+ message.vpcNetwork = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LinkedInterconnectAttachments message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments} LinkedInterconnectAttachments
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LinkedInterconnectAttachments.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LinkedInterconnectAttachments message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LinkedInterconnectAttachments.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uris != null && message.hasOwnProperty("uris")) {
+ if (!Array.isArray(message.uris))
+ return "uris: array expected";
+ for (var i = 0; i < message.uris.length; ++i)
+ if (!$util.isString(message.uris[i]))
+ return "uris: string[] expected";
+ }
+ if (message.siteToSiteDataTransfer != null && message.hasOwnProperty("siteToSiteDataTransfer"))
+ if (typeof message.siteToSiteDataTransfer !== "boolean")
+ return "siteToSiteDataTransfer: boolean expected";
+ if (message.vpcNetwork != null && message.hasOwnProperty("vpcNetwork"))
+ if (!$util.isString(message.vpcNetwork))
+ return "vpcNetwork: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a LinkedInterconnectAttachments message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments} LinkedInterconnectAttachments
+ */
+ LinkedInterconnectAttachments.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments();
+ if (object.uris) {
+ if (!Array.isArray(object.uris))
+ throw TypeError(".google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments.uris: array expected");
+ message.uris = [];
+ for (var i = 0; i < object.uris.length; ++i)
+ message.uris[i] = String(object.uris[i]);
+ }
+ if (object.siteToSiteDataTransfer != null)
+ message.siteToSiteDataTransfer = Boolean(object.siteToSiteDataTransfer);
+ if (object.vpcNetwork != null)
+ message.vpcNetwork = String(object.vpcNetwork);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LinkedInterconnectAttachments message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments} message LinkedInterconnectAttachments
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LinkedInterconnectAttachments.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uris = [];
+ if (options.defaults) {
+ object.siteToSiteDataTransfer = false;
+ object.vpcNetwork = "";
+ }
+ if (message.uris && message.uris.length) {
+ object.uris = [];
+ for (var j = 0; j < message.uris.length; ++j)
+ object.uris[j] = message.uris[j];
+ }
+ if (message.siteToSiteDataTransfer != null && message.hasOwnProperty("siteToSiteDataTransfer"))
+ object.siteToSiteDataTransfer = message.siteToSiteDataTransfer;
+ if (message.vpcNetwork != null && message.hasOwnProperty("vpcNetwork"))
+ object.vpcNetwork = message.vpcNetwork;
+ return object;
+ };
+
+ /**
+ * Converts this LinkedInterconnectAttachments to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LinkedInterconnectAttachments.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LinkedInterconnectAttachments
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LinkedInterconnectAttachments.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments";
+ };
+
+ return LinkedInterconnectAttachments;
+ })();
+
+ v1.LinkedRouterApplianceInstances = (function() {
+
+ /**
+ * Properties of a LinkedRouterApplianceInstances.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ILinkedRouterApplianceInstances
+ * @property {Array.|null} [instances] LinkedRouterApplianceInstances instances
+ * @property {boolean|null} [siteToSiteDataTransfer] LinkedRouterApplianceInstances siteToSiteDataTransfer
+ * @property {string|null} [vpcNetwork] LinkedRouterApplianceInstances vpcNetwork
+ */
+
+ /**
+ * Constructs a new LinkedRouterApplianceInstances.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a LinkedRouterApplianceInstances.
+ * @implements ILinkedRouterApplianceInstances
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances=} [properties] Properties to set
+ */
+ function LinkedRouterApplianceInstances(properties) {
+ this.instances = [];
+ 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]];
+ }
+
+ /**
+ * LinkedRouterApplianceInstances instances.
+ * @member {Array.} instances
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @instance
+ */
+ LinkedRouterApplianceInstances.prototype.instances = $util.emptyArray;
+
+ /**
+ * LinkedRouterApplianceInstances siteToSiteDataTransfer.
+ * @member {boolean} siteToSiteDataTransfer
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @instance
+ */
+ LinkedRouterApplianceInstances.prototype.siteToSiteDataTransfer = false;
+
+ /**
+ * LinkedRouterApplianceInstances vpcNetwork.
+ * @member {string} vpcNetwork
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @instance
+ */
+ LinkedRouterApplianceInstances.prototype.vpcNetwork = "";
+
+ /**
+ * Creates a new LinkedRouterApplianceInstances instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances} LinkedRouterApplianceInstances instance
+ */
+ LinkedRouterApplianceInstances.create = function create(properties) {
+ return new LinkedRouterApplianceInstances(properties);
+ };
+
+ /**
+ * Encodes the specified LinkedRouterApplianceInstances message. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances} message LinkedRouterApplianceInstances message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LinkedRouterApplianceInstances.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.instances != null && message.instances.length)
+ for (var i = 0; i < message.instances.length; ++i)
+ $root.google.cloud.networkconnectivity.v1.RouterApplianceInstance.encode(message.instances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.siteToSiteDataTransfer != null && Object.hasOwnProperty.call(message, "siteToSiteDataTransfer"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.siteToSiteDataTransfer);
+ if (message.vpcNetwork != null && Object.hasOwnProperty.call(message, "vpcNetwork"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.vpcNetwork);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LinkedRouterApplianceInstances message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILinkedRouterApplianceInstances} message LinkedRouterApplianceInstances message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LinkedRouterApplianceInstances.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LinkedRouterApplianceInstances message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances} LinkedRouterApplianceInstances
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LinkedRouterApplianceInstances.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.instances && message.instances.length))
+ message.instances = [];
+ message.instances.push($root.google.cloud.networkconnectivity.v1.RouterApplianceInstance.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.siteToSiteDataTransfer = reader.bool();
+ break;
+ }
+ case 3: {
+ message.vpcNetwork = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LinkedRouterApplianceInstances message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances} LinkedRouterApplianceInstances
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LinkedRouterApplianceInstances.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LinkedRouterApplianceInstances message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LinkedRouterApplianceInstances.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.instances != null && message.hasOwnProperty("instances")) {
+ if (!Array.isArray(message.instances))
+ return "instances: array expected";
+ for (var i = 0; i < message.instances.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1.RouterApplianceInstance.verify(message.instances[i]);
+ if (error)
+ return "instances." + error;
+ }
+ }
+ if (message.siteToSiteDataTransfer != null && message.hasOwnProperty("siteToSiteDataTransfer"))
+ if (typeof message.siteToSiteDataTransfer !== "boolean")
+ return "siteToSiteDataTransfer: boolean expected";
+ if (message.vpcNetwork != null && message.hasOwnProperty("vpcNetwork"))
+ if (!$util.isString(message.vpcNetwork))
+ return "vpcNetwork: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a LinkedRouterApplianceInstances message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances} LinkedRouterApplianceInstances
+ */
+ LinkedRouterApplianceInstances.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances();
+ if (object.instances) {
+ if (!Array.isArray(object.instances))
+ throw TypeError(".google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.instances: array expected");
+ message.instances = [];
+ for (var i = 0; i < object.instances.length; ++i) {
+ if (typeof object.instances[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances.instances: object expected");
+ message.instances[i] = $root.google.cloud.networkconnectivity.v1.RouterApplianceInstance.fromObject(object.instances[i]);
+ }
+ }
+ if (object.siteToSiteDataTransfer != null)
+ message.siteToSiteDataTransfer = Boolean(object.siteToSiteDataTransfer);
+ if (object.vpcNetwork != null)
+ message.vpcNetwork = String(object.vpcNetwork);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LinkedRouterApplianceInstances message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances} message LinkedRouterApplianceInstances
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LinkedRouterApplianceInstances.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.instances = [];
+ if (options.defaults) {
+ object.siteToSiteDataTransfer = false;
+ object.vpcNetwork = "";
+ }
+ if (message.instances && message.instances.length) {
+ object.instances = [];
+ for (var j = 0; j < message.instances.length; ++j)
+ object.instances[j] = $root.google.cloud.networkconnectivity.v1.RouterApplianceInstance.toObject(message.instances[j], options);
+ }
+ if (message.siteToSiteDataTransfer != null && message.hasOwnProperty("siteToSiteDataTransfer"))
+ object.siteToSiteDataTransfer = message.siteToSiteDataTransfer;
+ if (message.vpcNetwork != null && message.hasOwnProperty("vpcNetwork"))
+ object.vpcNetwork = message.vpcNetwork;
+ return object;
+ };
+
+ /**
+ * Converts this LinkedRouterApplianceInstances to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LinkedRouterApplianceInstances.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LinkedRouterApplianceInstances
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LinkedRouterApplianceInstances.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances";
+ };
+
+ return LinkedRouterApplianceInstances;
+ })();
+
+ v1.RouterApplianceInstance = (function() {
+
+ /**
+ * Properties of a RouterApplianceInstance.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IRouterApplianceInstance
+ * @property {string|null} [virtualMachine] RouterApplianceInstance virtualMachine
+ * @property {string|null} [ipAddress] RouterApplianceInstance ipAddress
+ */
+
+ /**
+ * Constructs a new RouterApplianceInstance.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a RouterApplianceInstance.
+ * @implements IRouterApplianceInstance
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IRouterApplianceInstance=} [properties] Properties to set
+ */
+ function RouterApplianceInstance(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]];
+ }
+
+ /**
+ * RouterApplianceInstance virtualMachine.
+ * @member {string} virtualMachine
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @instance
+ */
+ RouterApplianceInstance.prototype.virtualMachine = "";
+
+ /**
+ * RouterApplianceInstance ipAddress.
+ * @member {string} ipAddress
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @instance
+ */
+ RouterApplianceInstance.prototype.ipAddress = "";
+
+ /**
+ * Creates a new RouterApplianceInstance instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IRouterApplianceInstance=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.RouterApplianceInstance} RouterApplianceInstance instance
+ */
+ RouterApplianceInstance.create = function create(properties) {
+ return new RouterApplianceInstance(properties);
+ };
+
+ /**
+ * Encodes the specified RouterApplianceInstance message. Does not implicitly {@link google.cloud.networkconnectivity.v1.RouterApplianceInstance.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IRouterApplianceInstance} message RouterApplianceInstance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RouterApplianceInstance.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.virtualMachine != null && Object.hasOwnProperty.call(message, "virtualMachine"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.virtualMachine);
+ if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.ipAddress);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RouterApplianceInstance message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.RouterApplianceInstance.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IRouterApplianceInstance} message RouterApplianceInstance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RouterApplianceInstance.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RouterApplianceInstance message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.RouterApplianceInstance} RouterApplianceInstance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RouterApplianceInstance.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.RouterApplianceInstance();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.virtualMachine = reader.string();
+ break;
+ }
+ case 3: {
+ message.ipAddress = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RouterApplianceInstance message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.RouterApplianceInstance} RouterApplianceInstance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RouterApplianceInstance.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RouterApplianceInstance message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RouterApplianceInstance.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.virtualMachine != null && message.hasOwnProperty("virtualMachine"))
+ if (!$util.isString(message.virtualMachine))
+ return "virtualMachine: string expected";
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ if (!$util.isString(message.ipAddress))
+ return "ipAddress: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a RouterApplianceInstance message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.RouterApplianceInstance} RouterApplianceInstance
+ */
+ RouterApplianceInstance.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.RouterApplianceInstance)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.RouterApplianceInstance();
+ if (object.virtualMachine != null)
+ message.virtualMachine = String(object.virtualMachine);
+ if (object.ipAddress != null)
+ message.ipAddress = String(object.ipAddress);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RouterApplianceInstance message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.RouterApplianceInstance} message RouterApplianceInstance
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RouterApplianceInstance.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.virtualMachine = "";
+ object.ipAddress = "";
+ }
+ if (message.virtualMachine != null && message.hasOwnProperty("virtualMachine"))
+ object.virtualMachine = message.virtualMachine;
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ object.ipAddress = message.ipAddress;
+ return object;
+ };
+
+ /**
+ * Converts this RouterApplianceInstance to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RouterApplianceInstance.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RouterApplianceInstance
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.RouterApplianceInstance
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RouterApplianceInstance.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.RouterApplianceInstance";
+ };
+
+ return RouterApplianceInstance;
+ })();
+
+ v1.LocationMetadata = (function() {
+
+ /**
+ * Properties of a LocationMetadata.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ILocationMetadata
+ * @property {Array.|null} [locationFeatures] LocationMetadata locationFeatures
+ */
+
+ /**
+ * Constructs a new LocationMetadata.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a LocationMetadata.
+ * @implements ILocationMetadata
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ILocationMetadata=} [properties] Properties to set
+ */
+ function LocationMetadata(properties) {
+ this.locationFeatures = [];
+ 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]];
+ }
+
+ /**
+ * LocationMetadata locationFeatures.
+ * @member {Array.} locationFeatures
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @instance
+ */
+ LocationMetadata.prototype.locationFeatures = $util.emptyArray;
+
+ /**
+ * Creates a new LocationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILocationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.LocationMetadata} LocationMetadata instance
+ */
+ LocationMetadata.create = function create(properties) {
+ return new LocationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified LocationMetadata message. Does not implicitly {@link google.cloud.networkconnectivity.v1.LocationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILocationMetadata} message LocationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.locationFeatures != null && message.locationFeatures.length) {
+ writer.uint32(/* id 1, wireType 2 =*/10).fork();
+ for (var i = 0; i < message.locationFeatures.length; ++i)
+ writer.int32(message.locationFeatures[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LocationMetadata message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.LocationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ILocationMetadata} message LocationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.LocationMetadata} LocationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.LocationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.locationFeatures && message.locationFeatures.length))
+ message.locationFeatures = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.locationFeatures.push(reader.int32());
+ } else
+ message.locationFeatures.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.LocationMetadata} LocationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LocationMetadata message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LocationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.locationFeatures != null && message.hasOwnProperty("locationFeatures")) {
+ if (!Array.isArray(message.locationFeatures))
+ return "locationFeatures: array expected";
+ for (var i = 0; i < message.locationFeatures.length; ++i)
+ switch (message.locationFeatures[i]) {
+ default:
+ return "locationFeatures: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LocationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.LocationMetadata} LocationMetadata
+ */
+ LocationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.LocationMetadata)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.LocationMetadata();
+ if (object.locationFeatures) {
+ if (!Array.isArray(object.locationFeatures))
+ throw TypeError(".google.cloud.networkconnectivity.v1.LocationMetadata.locationFeatures: array expected");
+ message.locationFeatures = [];
+ for (var i = 0; i < object.locationFeatures.length; ++i)
+ switch (object.locationFeatures[i]) {
+ default:
+ if (typeof object.locationFeatures[i] === "number") {
+ message.locationFeatures[i] = object.locationFeatures[i];
+ break;
+ }
+ case "LOCATION_FEATURE_UNSPECIFIED":
+ case 0:
+ message.locationFeatures[i] = 0;
+ break;
+ case "SITE_TO_CLOUD_SPOKES":
+ case 1:
+ message.locationFeatures[i] = 1;
+ break;
+ case "SITE_TO_SITE_SPOKES":
+ case 2:
+ message.locationFeatures[i] = 2;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LocationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.LocationMetadata} message LocationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LocationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.locationFeatures = [];
+ if (message.locationFeatures && message.locationFeatures.length) {
+ object.locationFeatures = [];
+ for (var j = 0; j < message.locationFeatures.length; ++j)
+ object.locationFeatures[j] = options.enums === String ? $root.google.cloud.networkconnectivity.v1.LocationFeature[message.locationFeatures[j]] === undefined ? message.locationFeatures[j] : $root.google.cloud.networkconnectivity.v1.LocationFeature[message.locationFeatures[j]] : message.locationFeatures[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this LocationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LocationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LocationMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.LocationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LocationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.LocationMetadata";
+ };
+
+ return LocationMetadata;
+ })();
+
+ v1.PolicyBasedRoutingService = (function() {
+
+ /**
+ * Constructs a new PolicyBasedRoutingService service.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a PolicyBasedRoutingService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function PolicyBasedRoutingService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (PolicyBasedRoutingService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = PolicyBasedRoutingService;
+
+ /**
+ * Creates new PolicyBasedRoutingService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {PolicyBasedRoutingService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ PolicyBasedRoutingService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|listPolicyBasedRoutes}.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @typedef ListPolicyBasedRoutesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse} [response] ListPolicyBasedRoutesResponse
+ */
+
+ /**
+ * Calls ListPolicyBasedRoutes.
+ * @function listPolicyBasedRoutes
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest} request ListPolicyBasedRoutesRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.ListPolicyBasedRoutesCallback} callback Node-style callback called with the error, if any, and ListPolicyBasedRoutesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(PolicyBasedRoutingService.prototype.listPolicyBasedRoutes = function listPolicyBasedRoutes(request, callback) {
+ return this.rpcCall(listPolicyBasedRoutes, $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest, $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse, request, callback);
+ }, "name", { value: "ListPolicyBasedRoutes" });
+
+ /**
+ * Calls ListPolicyBasedRoutes.
+ * @function listPolicyBasedRoutes
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest} request ListPolicyBasedRoutesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|getPolicyBasedRoute}.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @typedef GetPolicyBasedRouteCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute} [response] PolicyBasedRoute
+ */
+
+ /**
+ * Calls GetPolicyBasedRoute.
+ * @function getPolicyBasedRoute
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest} request GetPolicyBasedRouteRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.GetPolicyBasedRouteCallback} callback Node-style callback called with the error, if any, and PolicyBasedRoute
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(PolicyBasedRoutingService.prototype.getPolicyBasedRoute = function getPolicyBasedRoute(request, callback) {
+ return this.rpcCall(getPolicyBasedRoute, $root.google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest, $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute, request, callback);
+ }, "name", { value: "GetPolicyBasedRoute" });
+
+ /**
+ * Calls GetPolicyBasedRoute.
+ * @function getPolicyBasedRoute
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest} request GetPolicyBasedRouteRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|createPolicyBasedRoute}.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @typedef CreatePolicyBasedRouteCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreatePolicyBasedRoute.
+ * @function createPolicyBasedRoute
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest} request CreatePolicyBasedRouteRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.CreatePolicyBasedRouteCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(PolicyBasedRoutingService.prototype.createPolicyBasedRoute = function createPolicyBasedRoute(request, callback) {
+ return this.rpcCall(createPolicyBasedRoute, $root.google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreatePolicyBasedRoute" });
+
+ /**
+ * Calls CreatePolicyBasedRoute.
+ * @function createPolicyBasedRoute
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest} request CreatePolicyBasedRouteRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1.PolicyBasedRoutingService|deletePolicyBasedRoute}.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @typedef DeletePolicyBasedRouteCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeletePolicyBasedRoute.
+ * @function deletePolicyBasedRoute
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest} request DeletePolicyBasedRouteRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoutingService.DeletePolicyBasedRouteCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(PolicyBasedRoutingService.prototype.deletePolicyBasedRoute = function deletePolicyBasedRoute(request, callback) {
+ return this.rpcCall(deletePolicyBasedRoute, $root.google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeletePolicyBasedRoute" });
+
+ /**
+ * Calls DeletePolicyBasedRoute.
+ * @function deletePolicyBasedRoute
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoutingService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest} request DeletePolicyBasedRouteRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return PolicyBasedRoutingService;
+ })();
+
+ v1.PolicyBasedRoute = (function() {
+
+ /**
+ * Properties of a PolicyBasedRoute.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IPolicyBasedRoute
+ * @property {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine|null} [virtualMachine] PolicyBasedRoute virtualMachine
+ * @property {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment|null} [interconnectAttachment] PolicyBasedRoute interconnectAttachment
+ * @property {string|null} [nextHopIlbIp] PolicyBasedRoute nextHopIlbIp
+ * @property {string|null} [name] PolicyBasedRoute name
+ * @property {google.protobuf.ITimestamp|null} [createTime] PolicyBasedRoute createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] PolicyBasedRoute updateTime
+ * @property {Object.|null} [labels] PolicyBasedRoute labels
+ * @property {string|null} [description] PolicyBasedRoute description
+ * @property {string|null} [network] PolicyBasedRoute network
+ * @property {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter|null} [filter] PolicyBasedRoute filter
+ * @property {number|null} [priority] PolicyBasedRoute priority
+ * @property {Array.|null} [warnings] PolicyBasedRoute warnings
+ * @property {string|null} [selfLink] PolicyBasedRoute selfLink
+ * @property {string|null} [kind] PolicyBasedRoute kind
+ */
+
+ /**
+ * Constructs a new PolicyBasedRoute.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a PolicyBasedRoute.
+ * @implements IPolicyBasedRoute
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IPolicyBasedRoute=} [properties] Properties to set
+ */
+ function PolicyBasedRoute(properties) {
+ this.labels = {};
+ this.warnings = [];
+ 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]];
+ }
+
+ /**
+ * PolicyBasedRoute virtualMachine.
+ * @member {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine|null|undefined} virtualMachine
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.virtualMachine = null;
+
+ /**
+ * PolicyBasedRoute interconnectAttachment.
+ * @member {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment|null|undefined} interconnectAttachment
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.interconnectAttachment = null;
+
+ /**
+ * PolicyBasedRoute nextHopIlbIp.
+ * @member {string|null|undefined} nextHopIlbIp
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.nextHopIlbIp = null;
+
+ /**
+ * PolicyBasedRoute name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.name = "";
+
+ /**
+ * PolicyBasedRoute createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.createTime = null;
+
+ /**
+ * PolicyBasedRoute updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.updateTime = null;
+
+ /**
+ * PolicyBasedRoute labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.labels = $util.emptyObject;
+
+ /**
+ * PolicyBasedRoute description.
+ * @member {string} description
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.description = "";
+
+ /**
+ * PolicyBasedRoute network.
+ * @member {string} network
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.network = "";
+
+ /**
+ * PolicyBasedRoute filter.
+ * @member {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter|null|undefined} filter
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.filter = null;
+
+ /**
+ * PolicyBasedRoute priority.
+ * @member {number} priority
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.priority = 0;
+
+ /**
+ * PolicyBasedRoute warnings.
+ * @member {Array.} warnings
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.warnings = $util.emptyArray;
+
+ /**
+ * PolicyBasedRoute selfLink.
+ * @member {string} selfLink
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.selfLink = "";
+
+ /**
+ * PolicyBasedRoute kind.
+ * @member {string} kind
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ PolicyBasedRoute.prototype.kind = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * PolicyBasedRoute target.
+ * @member {"virtualMachine"|"interconnectAttachment"|undefined} target
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ Object.defineProperty(PolicyBasedRoute.prototype, "target", {
+ get: $util.oneOfGetter($oneOfFields = ["virtualMachine", "interconnectAttachment"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * PolicyBasedRoute nextHop.
+ * @member {"nextHopIlbIp"|undefined} nextHop
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ */
+ Object.defineProperty(PolicyBasedRoute.prototype, "nextHop", {
+ get: $util.oneOfGetter($oneOfFields = ["nextHopIlbIp"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new PolicyBasedRoute instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IPolicyBasedRoute=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute} PolicyBasedRoute instance
+ */
+ PolicyBasedRoute.create = function create(properties) {
+ return new PolicyBasedRoute(properties);
+ };
+
+ /**
+ * Encodes the specified PolicyBasedRoute message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IPolicyBasedRoute} message PolicyBasedRoute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PolicyBasedRoute.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.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.network != null && Object.hasOwnProperty.call(message, "network"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.network);
+ if (message.interconnectAttachment != null && Object.hasOwnProperty.call(message, "interconnectAttachment"))
+ $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.encode(message.interconnectAttachment, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.encode(message.filter, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.priority != null && Object.hasOwnProperty.call(message, "priority"))
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.priority);
+ if (message.nextHopIlbIp != null && Object.hasOwnProperty.call(message, "nextHopIlbIp"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.nextHopIlbIp);
+ if (message.warnings != null && message.warnings.length)
+ for (var i = 0; i < message.warnings.length; ++i)
+ $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.encode(message.warnings[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
+ if (message.selfLink != null && Object.hasOwnProperty.call(message, "selfLink"))
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.selfLink);
+ if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
+ writer.uint32(/* id 16, wireType 2 =*/130).string(message.kind);
+ if (message.virtualMachine != null && Object.hasOwnProperty.call(message, "virtualMachine"))
+ $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.encode(message.virtualMachine, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PolicyBasedRoute message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IPolicyBasedRoute} message PolicyBasedRoute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PolicyBasedRoute.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PolicyBasedRoute message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute} PolicyBasedRoute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PolicyBasedRoute.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 18: {
+ message.virtualMachine = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.interconnectAttachment = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.nextHopIlbIp = reader.string();
+ break;
+ }
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ message.network = reader.string();
+ break;
+ }
+ case 10: {
+ message.filter = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.priority = reader.int32();
+ break;
+ }
+ case 14: {
+ if (!(message.warnings && message.warnings.length))
+ message.warnings = [];
+ message.warnings.push($root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.decode(reader, reader.uint32()));
+ break;
+ }
+ case 15: {
+ message.selfLink = reader.string();
+ break;
+ }
+ case 16: {
+ message.kind = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PolicyBasedRoute message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute} PolicyBasedRoute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PolicyBasedRoute.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PolicyBasedRoute message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PolicyBasedRoute.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.virtualMachine != null && message.hasOwnProperty("virtualMachine")) {
+ properties.target = 1;
+ {
+ var error = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.verify(message.virtualMachine);
+ if (error)
+ return "virtualMachine." + error;
+ }
+ }
+ if (message.interconnectAttachment != null && message.hasOwnProperty("interconnectAttachment")) {
+ if (properties.target === 1)
+ return "target: multiple values";
+ properties.target = 1;
+ {
+ var error = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.verify(message.interconnectAttachment);
+ if (error)
+ return "interconnectAttachment." + error;
+ }
+ }
+ if (message.nextHopIlbIp != null && message.hasOwnProperty("nextHopIlbIp")) {
+ properties.nextHop = 1;
+ if (!$util.isString(message.nextHopIlbIp))
+ return "nextHopIlbIp: string expected";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.network != null && message.hasOwnProperty("network"))
+ if (!$util.isString(message.network))
+ return "network: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter")) {
+ var error = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.verify(message.filter);
+ if (error)
+ return "filter." + error;
+ }
+ if (message.priority != null && message.hasOwnProperty("priority"))
+ if (!$util.isInteger(message.priority))
+ return "priority: integer expected";
+ if (message.warnings != null && message.hasOwnProperty("warnings")) {
+ if (!Array.isArray(message.warnings))
+ return "warnings: array expected";
+ for (var i = 0; i < message.warnings.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.verify(message.warnings[i]);
+ if (error)
+ return "warnings." + error;
+ }
+ }
+ if (message.selfLink != null && message.hasOwnProperty("selfLink"))
+ if (!$util.isString(message.selfLink))
+ return "selfLink: string expected";
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ if (!$util.isString(message.kind))
+ return "kind: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PolicyBasedRoute message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute} PolicyBasedRoute
+ */
+ PolicyBasedRoute.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute();
+ if (object.virtualMachine != null) {
+ if (typeof object.virtualMachine !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.virtualMachine: object expected");
+ message.virtualMachine = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.fromObject(object.virtualMachine);
+ }
+ if (object.interconnectAttachment != null) {
+ if (typeof object.interconnectAttachment !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.interconnectAttachment: object expected");
+ message.interconnectAttachment = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.fromObject(object.interconnectAttachment);
+ }
+ if (object.nextHopIlbIp != null)
+ message.nextHopIlbIp = String(object.nextHopIlbIp);
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.network != null)
+ message.network = String(object.network);
+ if (object.filter != null) {
+ if (typeof object.filter !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.filter: object expected");
+ message.filter = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.fromObject(object.filter);
+ }
+ if (object.priority != null)
+ message.priority = object.priority | 0;
+ if (object.warnings) {
+ if (!Array.isArray(object.warnings))
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.warnings: array expected");
+ message.warnings = [];
+ for (var i = 0; i < object.warnings.length; ++i) {
+ if (typeof object.warnings[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.warnings: object expected");
+ message.warnings[i] = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.fromObject(object.warnings[i]);
+ }
+ }
+ if (object.selfLink != null)
+ message.selfLink = String(object.selfLink);
+ if (object.kind != null)
+ message.kind = String(object.kind);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PolicyBasedRoute message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute} message PolicyBasedRoute
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PolicyBasedRoute.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.warnings = [];
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.description = "";
+ object.network = "";
+ object.filter = null;
+ object.priority = 0;
+ object.selfLink = "";
+ object.kind = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.network != null && message.hasOwnProperty("network"))
+ object.network = message.network;
+ if (message.interconnectAttachment != null && message.hasOwnProperty("interconnectAttachment")) {
+ object.interconnectAttachment = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.toObject(message.interconnectAttachment, options);
+ if (options.oneofs)
+ object.target = "interconnectAttachment";
+ }
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.toObject(message.filter, options);
+ if (message.priority != null && message.hasOwnProperty("priority"))
+ object.priority = message.priority;
+ if (message.nextHopIlbIp != null && message.hasOwnProperty("nextHopIlbIp")) {
+ object.nextHopIlbIp = message.nextHopIlbIp;
+ if (options.oneofs)
+ object.nextHop = "nextHopIlbIp";
+ }
+ if (message.warnings && message.warnings.length) {
+ object.warnings = [];
+ for (var j = 0; j < message.warnings.length; ++j)
+ object.warnings[j] = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.toObject(message.warnings[j], options);
+ }
+ if (message.selfLink != null && message.hasOwnProperty("selfLink"))
+ object.selfLink = message.selfLink;
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ object.kind = message.kind;
+ if (message.virtualMachine != null && message.hasOwnProperty("virtualMachine")) {
+ object.virtualMachine = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.toObject(message.virtualMachine, options);
+ if (options.oneofs)
+ object.target = "virtualMachine";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this PolicyBasedRoute to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PolicyBasedRoute.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PolicyBasedRoute
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PolicyBasedRoute.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.PolicyBasedRoute";
+ };
+
+ PolicyBasedRoute.VirtualMachine = (function() {
+
+ /**
+ * Properties of a VirtualMachine.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @interface IVirtualMachine
+ * @property {Array.|null} [tags] VirtualMachine tags
+ */
+
+ /**
+ * Constructs a new VirtualMachine.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @classdesc Represents a VirtualMachine.
+ * @implements IVirtualMachine
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine=} [properties] Properties to set
+ */
+ function VirtualMachine(properties) {
+ this.tags = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * VirtualMachine tags.
+ * @member {Array.} tags
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.tags = $util.emptyArray;
+
+ /**
+ * Creates a new VirtualMachine instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine} VirtualMachine instance
+ */
+ VirtualMachine.create = function create(properties) {
+ return new VirtualMachine(properties);
+ };
+
+ /**
+ * Encodes the specified VirtualMachine message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine} message VirtualMachine message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VirtualMachine.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.tags != null && message.tags.length)
+ for (var i = 0; i < message.tags.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.tags[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VirtualMachine message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IVirtualMachine} message VirtualMachine message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VirtualMachine.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine} VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VirtualMachine.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.tags && message.tags.length))
+ message.tags = [];
+ message.tags.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine} VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VirtualMachine.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VirtualMachine message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VirtualMachine.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.tags != null && message.hasOwnProperty("tags")) {
+ if (!Array.isArray(message.tags))
+ return "tags: array expected";
+ for (var i = 0; i < message.tags.length; ++i)
+ if (!$util.isString(message.tags[i]))
+ return "tags: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VirtualMachine message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine} VirtualMachine
+ */
+ VirtualMachine.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine();
+ if (object.tags) {
+ if (!Array.isArray(object.tags))
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine.tags: array expected");
+ message.tags = [];
+ for (var i = 0; i < object.tags.length; ++i)
+ message.tags[i] = String(object.tags[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VirtualMachine message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine} message VirtualMachine
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VirtualMachine.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.tags = [];
+ if (message.tags && message.tags.length) {
+ object.tags = [];
+ for (var j = 0; j < message.tags.length; ++j)
+ object.tags[j] = message.tags[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this VirtualMachine to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VirtualMachine.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VirtualMachine
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VirtualMachine.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine";
+ };
+
+ return VirtualMachine;
+ })();
+
+ PolicyBasedRoute.InterconnectAttachment = (function() {
+
+ /**
+ * Properties of an InterconnectAttachment.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @interface IInterconnectAttachment
+ * @property {string|null} [region] InterconnectAttachment region
+ */
+
+ /**
+ * Constructs a new InterconnectAttachment.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @classdesc Represents an InterconnectAttachment.
+ * @implements IInterconnectAttachment
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment=} [properties] Properties to set
+ */
+ function InterconnectAttachment(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]];
+ }
+
+ /**
+ * InterconnectAttachment region.
+ * @member {string} region
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @instance
+ */
+ InterconnectAttachment.prototype.region = "";
+
+ /**
+ * Creates a new InterconnectAttachment instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment} InterconnectAttachment instance
+ */
+ InterconnectAttachment.create = function create(properties) {
+ return new InterconnectAttachment(properties);
+ };
+
+ /**
+ * Encodes the specified InterconnectAttachment message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment} message InterconnectAttachment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InterconnectAttachment.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.region != null && Object.hasOwnProperty.call(message, "region"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.region);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InterconnectAttachment message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IInterconnectAttachment} message InterconnectAttachment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InterconnectAttachment.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InterconnectAttachment message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment} InterconnectAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InterconnectAttachment.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.region = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InterconnectAttachment message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment} InterconnectAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InterconnectAttachment.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InterconnectAttachment message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InterconnectAttachment.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.region != null && message.hasOwnProperty("region"))
+ if (!$util.isString(message.region))
+ return "region: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an InterconnectAttachment message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment} InterconnectAttachment
+ */
+ InterconnectAttachment.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment();
+ if (object.region != null)
+ message.region = String(object.region);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InterconnectAttachment message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment} message InterconnectAttachment
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InterconnectAttachment.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.region = "";
+ if (message.region != null && message.hasOwnProperty("region"))
+ object.region = message.region;
+ return object;
+ };
+
+ /**
+ * Converts this InterconnectAttachment to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InterconnectAttachment.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InterconnectAttachment
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InterconnectAttachment.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment";
+ };
+
+ return InterconnectAttachment;
+ })();
+
+ PolicyBasedRoute.Filter = (function() {
+
+ /**
+ * Properties of a Filter.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @interface IFilter
+ * @property {string|null} [ipProtocol] Filter ipProtocol
+ * @property {string|null} [srcRange] Filter srcRange
+ * @property {string|null} [destRange] Filter destRange
+ * @property {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion|null} [protocolVersion] Filter protocolVersion
+ */
+
+ /**
+ * Constructs a new Filter.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @classdesc Represents a Filter.
+ * @implements IFilter
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter=} [properties] Properties to set
+ */
+ function Filter(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]];
+ }
+
+ /**
+ * Filter ipProtocol.
+ * @member {string} ipProtocol
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @instance
+ */
+ Filter.prototype.ipProtocol = "";
+
+ /**
+ * Filter srcRange.
+ * @member {string} srcRange
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @instance
+ */
+ Filter.prototype.srcRange = "";
+
+ /**
+ * Filter destRange.
+ * @member {string} destRange
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @instance
+ */
+ Filter.prototype.destRange = "";
+
+ /**
+ * Filter protocolVersion.
+ * @member {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion} protocolVersion
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @instance
+ */
+ Filter.prototype.protocolVersion = 0;
+
+ /**
+ * Creates a new Filter instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter} Filter instance
+ */
+ Filter.create = function create(properties) {
+ return new Filter(properties);
+ };
+
+ /**
+ * Encodes the specified Filter message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter} message Filter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Filter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.ipProtocol != null && Object.hasOwnProperty.call(message, "ipProtocol"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.ipProtocol);
+ if (message.srcRange != null && Object.hasOwnProperty.call(message, "srcRange"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.srcRange);
+ if (message.destRange != null && Object.hasOwnProperty.call(message, "destRange"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.destRange);
+ if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.protocolVersion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Filter message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IFilter} message Filter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Filter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter} Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Filter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.ipProtocol = reader.string();
+ break;
+ }
+ case 2: {
+ message.srcRange = reader.string();
+ break;
+ }
+ case 3: {
+ message.destRange = reader.string();
+ break;
+ }
+ case 6: {
+ message.protocolVersion = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Filter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter} Filter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Filter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Filter message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Filter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.ipProtocol != null && message.hasOwnProperty("ipProtocol"))
+ if (!$util.isString(message.ipProtocol))
+ return "ipProtocol: string expected";
+ if (message.srcRange != null && message.hasOwnProperty("srcRange"))
+ if (!$util.isString(message.srcRange))
+ return "srcRange: string expected";
+ if (message.destRange != null && message.hasOwnProperty("destRange"))
+ if (!$util.isString(message.destRange))
+ return "destRange: string expected";
+ if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
+ switch (message.protocolVersion) {
+ default:
+ return "protocolVersion: enum value expected";
+ case 0:
+ case 1:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Filter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter} Filter
+ */
+ Filter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter();
+ if (object.ipProtocol != null)
+ message.ipProtocol = String(object.ipProtocol);
+ if (object.srcRange != null)
+ message.srcRange = String(object.srcRange);
+ if (object.destRange != null)
+ message.destRange = String(object.destRange);
+ switch (object.protocolVersion) {
+ default:
+ if (typeof object.protocolVersion === "number") {
+ message.protocolVersion = object.protocolVersion;
+ break;
+ }
+ break;
+ case "PROTOCOL_VERSION_UNSPECIFIED":
+ case 0:
+ message.protocolVersion = 0;
+ break;
+ case "IPV4":
+ case 1:
+ message.protocolVersion = 1;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Filter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter} message Filter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Filter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.ipProtocol = "";
+ object.srcRange = "";
+ object.destRange = "";
+ object.protocolVersion = options.enums === String ? "PROTOCOL_VERSION_UNSPECIFIED" : 0;
+ }
+ if (message.ipProtocol != null && message.hasOwnProperty("ipProtocol"))
+ object.ipProtocol = message.ipProtocol;
+ if (message.srcRange != null && message.hasOwnProperty("srcRange"))
+ object.srcRange = message.srcRange;
+ if (message.destRange != null && message.hasOwnProperty("destRange"))
+ object.destRange = message.destRange;
+ if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
+ object.protocolVersion = options.enums === String ? $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion[message.protocolVersion] === undefined ? message.protocolVersion : $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion[message.protocolVersion] : message.protocolVersion;
+ return object;
+ };
+
+ /**
+ * Converts this Filter to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Filter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Filter
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Filter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter";
+ };
+
+ /**
+ * ProtocolVersion enum.
+ * @name google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion
+ * @enum {number}
+ * @property {number} PROTOCOL_VERSION_UNSPECIFIED=0 PROTOCOL_VERSION_UNSPECIFIED value
+ * @property {number} IPV4=1 IPV4 value
+ */
+ Filter.ProtocolVersion = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PROTOCOL_VERSION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "IPV4"] = 1;
+ return values;
+ })();
+
+ return Filter;
+ })();
+
+ PolicyBasedRoute.Warnings = (function() {
+
+ /**
+ * Properties of a Warnings.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @interface IWarnings
+ * @property {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code|null} [code] Warnings code
+ * @property {Object.|null} [data] Warnings data
+ * @property {string|null} [warningMessage] Warnings warningMessage
+ */
+
+ /**
+ * Constructs a new Warnings.
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute
+ * @classdesc Represents a Warnings.
+ * @implements IWarnings
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings=} [properties] Properties to set
+ */
+ function Warnings(properties) {
+ this.data = {};
+ 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]];
+ }
+
+ /**
+ * Warnings code.
+ * @member {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code} code
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @instance
+ */
+ Warnings.prototype.code = 0;
+
+ /**
+ * Warnings data.
+ * @member {Object.} data
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @instance
+ */
+ Warnings.prototype.data = $util.emptyObject;
+
+ /**
+ * Warnings warningMessage.
+ * @member {string} warningMessage
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @instance
+ */
+ Warnings.prototype.warningMessage = "";
+
+ /**
+ * Creates a new Warnings instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings} Warnings instance
+ */
+ Warnings.create = function create(properties) {
+ return new Warnings(properties);
+ };
+
+ /**
+ * Encodes the specified Warnings message. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings} message Warnings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Warnings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.code != null && Object.hasOwnProperty.call(message, "code"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code);
+ if (message.data != null && Object.hasOwnProperty.call(message, "data"))
+ for (var keys = Object.keys(message.data), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.data[keys[i]]).ldelim();
+ if (message.warningMessage != null && Object.hasOwnProperty.call(message, "warningMessage"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.warningMessage);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Warnings message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.IWarnings} message Warnings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Warnings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Warnings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings} Warnings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Warnings.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.code = reader.int32();
+ break;
+ }
+ case 2: {
+ if (message.data === $util.emptyObject)
+ message.data = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.data[key] = value;
+ break;
+ }
+ case 3: {
+ message.warningMessage = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Warnings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings} Warnings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Warnings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Warnings message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Warnings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.code != null && message.hasOwnProperty("code"))
+ switch (message.code) {
+ default:
+ return "code: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.data != null && message.hasOwnProperty("data")) {
+ if (!$util.isObject(message.data))
+ return "data: object expected";
+ var key = Object.keys(message.data);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.data[key[i]]))
+ return "data: string{k:string} expected";
+ }
+ if (message.warningMessage != null && message.hasOwnProperty("warningMessage"))
+ if (!$util.isString(message.warningMessage))
+ return "warningMessage: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Warnings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings} Warnings
+ */
+ Warnings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings();
+ switch (object.code) {
+ default:
+ if (typeof object.code === "number") {
+ message.code = object.code;
+ break;
+ }
+ break;
+ case "WARNING_UNSPECIFIED":
+ case 0:
+ message.code = 0;
+ break;
+ case "RESOURCE_NOT_ACTIVE":
+ case 1:
+ message.code = 1;
+ break;
+ case "RESOURCE_BEING_MODIFIED":
+ case 2:
+ message.code = 2;
+ break;
+ }
+ if (object.data) {
+ if (typeof object.data !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.data: object expected");
+ message.data = {};
+ for (var keys = Object.keys(object.data), i = 0; i < keys.length; ++i)
+ message.data[keys[i]] = String(object.data[keys[i]]);
+ }
+ if (object.warningMessage != null)
+ message.warningMessage = String(object.warningMessage);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Warnings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings} message Warnings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Warnings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.data = {};
+ if (options.defaults) {
+ object.code = options.enums === String ? "WARNING_UNSPECIFIED" : 0;
+ object.warningMessage = "";
+ }
+ if (message.code != null && message.hasOwnProperty("code"))
+ object.code = options.enums === String ? $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code[message.code] === undefined ? message.code : $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code[message.code] : message.code;
+ var keys2;
+ if (message.data && (keys2 = Object.keys(message.data)).length) {
+ object.data = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.data[keys2[j]] = message.data[keys2[j]];
+ }
+ if (message.warningMessage != null && message.hasOwnProperty("warningMessage"))
+ object.warningMessage = message.warningMessage;
+ return object;
+ };
+
+ /**
+ * Converts this Warnings to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Warnings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Warnings
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Warnings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings";
+ };
+
+ /**
+ * Code enum.
+ * @name google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code
+ * @enum {number}
+ * @property {number} WARNING_UNSPECIFIED=0 WARNING_UNSPECIFIED value
+ * @property {number} RESOURCE_NOT_ACTIVE=1 RESOURCE_NOT_ACTIVE value
+ * @property {number} RESOURCE_BEING_MODIFIED=2 RESOURCE_BEING_MODIFIED value
+ */
+ Warnings.Code = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "WARNING_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "RESOURCE_NOT_ACTIVE"] = 1;
+ values[valuesById[2] = "RESOURCE_BEING_MODIFIED"] = 2;
+ return values;
+ })();
+
+ return Warnings;
+ })();
+
+ return PolicyBasedRoute;
+ })();
+
+ v1.ListPolicyBasedRoutesRequest = (function() {
+
+ /**
+ * Properties of a ListPolicyBasedRoutesRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IListPolicyBasedRoutesRequest
+ * @property {string|null} [parent] ListPolicyBasedRoutesRequest parent
+ * @property {number|null} [pageSize] ListPolicyBasedRoutesRequest pageSize
+ * @property {string|null} [pageToken] ListPolicyBasedRoutesRequest pageToken
+ * @property {string|null} [filter] ListPolicyBasedRoutesRequest filter
+ * @property {string|null} [orderBy] ListPolicyBasedRoutesRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListPolicyBasedRoutesRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a ListPolicyBasedRoutesRequest.
+ * @implements IListPolicyBasedRoutesRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest=} [properties] Properties to set
+ */
+ function ListPolicyBasedRoutesRequest(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]];
+ }
+
+ /**
+ * ListPolicyBasedRoutesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @instance
+ */
+ ListPolicyBasedRoutesRequest.prototype.parent = "";
+
+ /**
+ * ListPolicyBasedRoutesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @instance
+ */
+ ListPolicyBasedRoutesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListPolicyBasedRoutesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @instance
+ */
+ ListPolicyBasedRoutesRequest.prototype.pageToken = "";
+
+ /**
+ * ListPolicyBasedRoutesRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @instance
+ */
+ ListPolicyBasedRoutesRequest.prototype.filter = "";
+
+ /**
+ * ListPolicyBasedRoutesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @instance
+ */
+ ListPolicyBasedRoutesRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListPolicyBasedRoutesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest} ListPolicyBasedRoutesRequest instance
+ */
+ ListPolicyBasedRoutesRequest.create = function create(properties) {
+ return new ListPolicyBasedRoutesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest} message ListPolicyBasedRoutesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListPolicyBasedRoutesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesRequest} message ListPolicyBasedRoutesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListPolicyBasedRoutesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListPolicyBasedRoutesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest} ListPolicyBasedRoutesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListPolicyBasedRoutesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListPolicyBasedRoutesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest} ListPolicyBasedRoutesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListPolicyBasedRoutesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListPolicyBasedRoutesRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListPolicyBasedRoutesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListPolicyBasedRoutesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest} ListPolicyBasedRoutesRequest
+ */
+ ListPolicyBasedRoutesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListPolicyBasedRoutesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest} message ListPolicyBasedRoutesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListPolicyBasedRoutesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListPolicyBasedRoutesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListPolicyBasedRoutesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListPolicyBasedRoutesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListPolicyBasedRoutesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest";
+ };
+
+ return ListPolicyBasedRoutesRequest;
+ })();
+
+ v1.ListPolicyBasedRoutesResponse = (function() {
+
+ /**
+ * Properties of a ListPolicyBasedRoutesResponse.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IListPolicyBasedRoutesResponse
+ * @property {Array.|null} [policyBasedRoutes] ListPolicyBasedRoutesResponse policyBasedRoutes
+ * @property {string|null} [nextPageToken] ListPolicyBasedRoutesResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListPolicyBasedRoutesResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListPolicyBasedRoutesResponse.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a ListPolicyBasedRoutesResponse.
+ * @implements IListPolicyBasedRoutesResponse
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse=} [properties] Properties to set
+ */
+ function ListPolicyBasedRoutesResponse(properties) {
+ this.policyBasedRoutes = [];
+ this.unreachable = [];
+ 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]];
+ }
+
+ /**
+ * ListPolicyBasedRoutesResponse policyBasedRoutes.
+ * @member {Array.} policyBasedRoutes
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @instance
+ */
+ ListPolicyBasedRoutesResponse.prototype.policyBasedRoutes = $util.emptyArray;
+
+ /**
+ * ListPolicyBasedRoutesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @instance
+ */
+ ListPolicyBasedRoutesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListPolicyBasedRoutesResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @instance
+ */
+ ListPolicyBasedRoutesResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListPolicyBasedRoutesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse} ListPolicyBasedRoutesResponse instance
+ */
+ ListPolicyBasedRoutesResponse.create = function create(properties) {
+ return new ListPolicyBasedRoutesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse} message ListPolicyBasedRoutesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListPolicyBasedRoutesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.policyBasedRoutes != null && message.policyBasedRoutes.length)
+ for (var i = 0; i < message.policyBasedRoutes.length; ++i)
+ $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.encode(message.policyBasedRoutes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListPolicyBasedRoutesResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IListPolicyBasedRoutesResponse} message ListPolicyBasedRoutesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListPolicyBasedRoutesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListPolicyBasedRoutesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse} ListPolicyBasedRoutesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListPolicyBasedRoutesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.policyBasedRoutes && message.policyBasedRoutes.length))
+ message.policyBasedRoutes = [];
+ message.policyBasedRoutes.push($root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListPolicyBasedRoutesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse} ListPolicyBasedRoutesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListPolicyBasedRoutesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListPolicyBasedRoutesResponse message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListPolicyBasedRoutesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.policyBasedRoutes != null && message.hasOwnProperty("policyBasedRoutes")) {
+ if (!Array.isArray(message.policyBasedRoutes))
+ return "policyBasedRoutes: array expected";
+ for (var i = 0; i < message.policyBasedRoutes.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.verify(message.policyBasedRoutes[i]);
+ if (error)
+ return "policyBasedRoutes." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListPolicyBasedRoutesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse} ListPolicyBasedRoutesResponse
+ */
+ ListPolicyBasedRoutesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse();
+ if (object.policyBasedRoutes) {
+ if (!Array.isArray(object.policyBasedRoutes))
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.policyBasedRoutes: array expected");
+ message.policyBasedRoutes = [];
+ for (var i = 0; i < object.policyBasedRoutes.length; ++i) {
+ if (typeof object.policyBasedRoutes[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.policyBasedRoutes: object expected");
+ message.policyBasedRoutes[i] = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.fromObject(object.policyBasedRoutes[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListPolicyBasedRoutesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse} message ListPolicyBasedRoutesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListPolicyBasedRoutesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.policyBasedRoutes = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.policyBasedRoutes && message.policyBasedRoutes.length) {
+ object.policyBasedRoutes = [];
+ for (var j = 0; j < message.policyBasedRoutes.length; ++j)
+ object.policyBasedRoutes[j] = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.toObject(message.policyBasedRoutes[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListPolicyBasedRoutesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListPolicyBasedRoutesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListPolicyBasedRoutesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListPolicyBasedRoutesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse";
+ };
+
+ return ListPolicyBasedRoutesResponse;
+ })();
+
+ v1.GetPolicyBasedRouteRequest = (function() {
+
+ /**
+ * Properties of a GetPolicyBasedRouteRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IGetPolicyBasedRouteRequest
+ * @property {string|null} [name] GetPolicyBasedRouteRequest name
+ */
+
+ /**
+ * Constructs a new GetPolicyBasedRouteRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a GetPolicyBasedRouteRequest.
+ * @implements IGetPolicyBasedRouteRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest=} [properties] Properties to set
+ */
+ function GetPolicyBasedRouteRequest(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]];
+ }
+
+ /**
+ * GetPolicyBasedRouteRequest name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @instance
+ */
+ GetPolicyBasedRouteRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetPolicyBasedRouteRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest} GetPolicyBasedRouteRequest instance
+ */
+ GetPolicyBasedRouteRequest.create = function create(properties) {
+ return new GetPolicyBasedRouteRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetPolicyBasedRouteRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest} message GetPolicyBasedRouteRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetPolicyBasedRouteRequest.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);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetPolicyBasedRouteRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IGetPolicyBasedRouteRequest} message GetPolicyBasedRouteRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetPolicyBasedRouteRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetPolicyBasedRouteRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest} GetPolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetPolicyBasedRouteRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetPolicyBasedRouteRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest} GetPolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetPolicyBasedRouteRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetPolicyBasedRouteRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetPolicyBasedRouteRequest.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";
+ return null;
+ };
+
+ /**
+ * Creates a GetPolicyBasedRouteRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest} GetPolicyBasedRouteRequest
+ */
+ GetPolicyBasedRouteRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetPolicyBasedRouteRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest} message GetPolicyBasedRouteRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetPolicyBasedRouteRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetPolicyBasedRouteRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetPolicyBasedRouteRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetPolicyBasedRouteRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetPolicyBasedRouteRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest";
+ };
+
+ return GetPolicyBasedRouteRequest;
+ })();
+
+ v1.CreatePolicyBasedRouteRequest = (function() {
+
+ /**
+ * Properties of a CreatePolicyBasedRouteRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface ICreatePolicyBasedRouteRequest
+ * @property {string|null} [parent] CreatePolicyBasedRouteRequest parent
+ * @property {string|null} [policyBasedRouteId] CreatePolicyBasedRouteRequest policyBasedRouteId
+ * @property {google.cloud.networkconnectivity.v1.IPolicyBasedRoute|null} [policyBasedRoute] CreatePolicyBasedRouteRequest policyBasedRoute
+ * @property {string|null} [requestId] CreatePolicyBasedRouteRequest requestId
+ */
+
+ /**
+ * Constructs a new CreatePolicyBasedRouteRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a CreatePolicyBasedRouteRequest.
+ * @implements ICreatePolicyBasedRouteRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest=} [properties] Properties to set
+ */
+ function CreatePolicyBasedRouteRequest(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]];
+ }
+
+ /**
+ * CreatePolicyBasedRouteRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @instance
+ */
+ CreatePolicyBasedRouteRequest.prototype.parent = "";
+
+ /**
+ * CreatePolicyBasedRouteRequest policyBasedRouteId.
+ * @member {string} policyBasedRouteId
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @instance
+ */
+ CreatePolicyBasedRouteRequest.prototype.policyBasedRouteId = "";
+
+ /**
+ * CreatePolicyBasedRouteRequest policyBasedRoute.
+ * @member {google.cloud.networkconnectivity.v1.IPolicyBasedRoute|null|undefined} policyBasedRoute
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @instance
+ */
+ CreatePolicyBasedRouteRequest.prototype.policyBasedRoute = null;
+
+ /**
+ * CreatePolicyBasedRouteRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @instance
+ */
+ CreatePolicyBasedRouteRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new CreatePolicyBasedRouteRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest} CreatePolicyBasedRouteRequest instance
+ */
+ CreatePolicyBasedRouteRequest.create = function create(properties) {
+ return new CreatePolicyBasedRouteRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreatePolicyBasedRouteRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest} message CreatePolicyBasedRouteRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreatePolicyBasedRouteRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.policyBasedRouteId != null && Object.hasOwnProperty.call(message, "policyBasedRouteId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.policyBasedRouteId);
+ if (message.policyBasedRoute != null && Object.hasOwnProperty.call(message, "policyBasedRoute"))
+ $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.encode(message.policyBasedRoute, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreatePolicyBasedRouteRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.ICreatePolicyBasedRouteRequest} message CreatePolicyBasedRouteRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreatePolicyBasedRouteRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreatePolicyBasedRouteRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest} CreatePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreatePolicyBasedRouteRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.policyBasedRouteId = reader.string();
+ break;
+ }
+ case 3: {
+ message.policyBasedRoute = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreatePolicyBasedRouteRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest} CreatePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreatePolicyBasedRouteRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreatePolicyBasedRouteRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreatePolicyBasedRouteRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.policyBasedRouteId != null && message.hasOwnProperty("policyBasedRouteId"))
+ if (!$util.isString(message.policyBasedRouteId))
+ return "policyBasedRouteId: string expected";
+ if (message.policyBasedRoute != null && message.hasOwnProperty("policyBasedRoute")) {
+ var error = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.verify(message.policyBasedRoute);
+ if (error)
+ return "policyBasedRoute." + error;
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CreatePolicyBasedRouteRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest} CreatePolicyBasedRouteRequest
+ */
+ CreatePolicyBasedRouteRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.policyBasedRouteId != null)
+ message.policyBasedRouteId = String(object.policyBasedRouteId);
+ if (object.policyBasedRoute != null) {
+ if (typeof object.policyBasedRoute !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest.policyBasedRoute: object expected");
+ message.policyBasedRoute = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.fromObject(object.policyBasedRoute);
+ }
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreatePolicyBasedRouteRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest} message CreatePolicyBasedRouteRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreatePolicyBasedRouteRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.policyBasedRouteId = "";
+ object.policyBasedRoute = null;
+ object.requestId = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.policyBasedRouteId != null && message.hasOwnProperty("policyBasedRouteId"))
+ object.policyBasedRouteId = message.policyBasedRouteId;
+ if (message.policyBasedRoute != null && message.hasOwnProperty("policyBasedRoute"))
+ object.policyBasedRoute = $root.google.cloud.networkconnectivity.v1.PolicyBasedRoute.toObject(message.policyBasedRoute, options);
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this CreatePolicyBasedRouteRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreatePolicyBasedRouteRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreatePolicyBasedRouteRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreatePolicyBasedRouteRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest";
+ };
+
+ return CreatePolicyBasedRouteRequest;
+ })();
+
+ v1.DeletePolicyBasedRouteRequest = (function() {
+
+ /**
+ * Properties of a DeletePolicyBasedRouteRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @interface IDeletePolicyBasedRouteRequest
+ * @property {string|null} [name] DeletePolicyBasedRouteRequest name
+ * @property {string|null} [requestId] DeletePolicyBasedRouteRequest requestId
+ */
+
+ /**
+ * Constructs a new DeletePolicyBasedRouteRequest.
+ * @memberof google.cloud.networkconnectivity.v1
+ * @classdesc Represents a DeletePolicyBasedRouteRequest.
+ * @implements IDeletePolicyBasedRouteRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest=} [properties] Properties to set
+ */
+ function DeletePolicyBasedRouteRequest(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]];
+ }
+
+ /**
+ * DeletePolicyBasedRouteRequest name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @instance
+ */
+ DeletePolicyBasedRouteRequest.prototype.name = "";
+
+ /**
+ * DeletePolicyBasedRouteRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @instance
+ */
+ DeletePolicyBasedRouteRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new DeletePolicyBasedRouteRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest} DeletePolicyBasedRouteRequest instance
+ */
+ DeletePolicyBasedRouteRequest.create = function create(properties) {
+ return new DeletePolicyBasedRouteRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeletePolicyBasedRouteRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest} message DeletePolicyBasedRouteRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeletePolicyBasedRouteRequest.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.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeletePolicyBasedRouteRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.IDeletePolicyBasedRouteRequest} message DeletePolicyBasedRouteRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeletePolicyBasedRouteRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeletePolicyBasedRouteRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest} DeletePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeletePolicyBasedRouteRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeletePolicyBasedRouteRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest} DeletePolicyBasedRouteRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeletePolicyBasedRouteRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeletePolicyBasedRouteRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeletePolicyBasedRouteRequest.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.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeletePolicyBasedRouteRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest} DeletePolicyBasedRouteRequest
+ */
+ DeletePolicyBasedRouteRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeletePolicyBasedRouteRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest} message DeletePolicyBasedRouteRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeletePolicyBasedRouteRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.requestId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this DeletePolicyBasedRouteRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeletePolicyBasedRouteRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeletePolicyBasedRouteRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeletePolicyBasedRouteRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest";
+ };
+
+ return DeletePolicyBasedRouteRequest;
+ })();
+
+ return v1;
+ })();
+
+ networkconnectivity.v1alpha1 = (function() {
+
+ /**
+ * Namespace v1alpha1.
+ * @memberof google.cloud.networkconnectivity
+ * @namespace
+ */
+ var v1alpha1 = {};
+
+ v1alpha1.OperationMetadata = (function() {
+
+ /**
+ * Properties of an OperationMetadata.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @interface IOperationMetadata
+ * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] OperationMetadata endTime
+ * @property {string|null} [target] OperationMetadata target
+ * @property {string|null} [verb] OperationMetadata verb
+ * @property {string|null} [statusMessage] OperationMetadata statusMessage
+ * @property {boolean|null} [requestedCancellation] OperationMetadata requestedCancellation
+ * @property {string|null} [apiVersion] OperationMetadata apiVersion
+ */
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @classdesc Represents an OperationMetadata.
+ * @implements IOperationMetadata
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1alpha1.IOperationMetadata=} [properties] Properties to set
+ */
+ function OperationMetadata(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]];
+ }
+
+ /**
+ * OperationMetadata createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.createTime = null;
+
+ /**
+ * OperationMetadata endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.endTime = null;
+
+ /**
+ * OperationMetadata target.
+ * @member {string} target
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.target = "";
+
+ /**
+ * OperationMetadata verb.
+ * @member {string} verb
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.verb = "";
+
+ /**
+ * OperationMetadata statusMessage.
+ * @member {string} statusMessage
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.statusMessage = "";
+
+ /**
+ * OperationMetadata requestedCancellation.
+ * @member {boolean} requestedCancellation
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.requestedCancellation = false;
+
+ /**
+ * OperationMetadata apiVersion.
+ * @member {string} apiVersion
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.apiVersion = "";
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IOperationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1alpha1.OperationMetadata} OperationMetadata instance
+ */
+ OperationMetadata.create = function create(properties) {
+ return new OperationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.OperationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IOperationMetadata} message OperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OperationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.target != null && Object.hasOwnProperty.call(message, "target"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.target);
+ if (message.verb != null && Object.hasOwnProperty.call(message, "verb"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.verb);
+ if (message.statusMessage != null && Object.hasOwnProperty.call(message, "statusMessage"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusMessage);
+ if (message.requestedCancellation != null && Object.hasOwnProperty.call(message, "requestedCancellation"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.requestedCancellation);
+ if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.apiVersion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.OperationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IOperationMetadata} message OperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1alpha1.OperationMetadata} OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OperationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1alpha1.OperationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.target = reader.string();
+ break;
+ }
+ case 4: {
+ message.verb = reader.string();
+ break;
+ }
+ case 5: {
+ message.statusMessage = reader.string();
+ break;
+ }
+ case 6: {
+ message.requestedCancellation = reader.bool();
+ break;
+ }
+ case 7: {
+ message.apiVersion = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1alpha1.OperationMetadata} OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OperationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OperationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.target != null && message.hasOwnProperty("target"))
+ if (!$util.isString(message.target))
+ return "target: string expected";
+ if (message.verb != null && message.hasOwnProperty("verb"))
+ if (!$util.isString(message.verb))
+ return "verb: string expected";
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ if (!$util.isString(message.statusMessage))
+ return "statusMessage: string expected";
+ if (message.requestedCancellation != null && message.hasOwnProperty("requestedCancellation"))
+ if (typeof message.requestedCancellation !== "boolean")
+ return "requestedCancellation: boolean expected";
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ if (!$util.isString(message.apiVersion))
+ return "apiVersion: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1alpha1.OperationMetadata} OperationMetadata
+ */
+ OperationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1alpha1.OperationMetadata)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1alpha1.OperationMetadata();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.OperationMetadata.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.OperationMetadata.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.target != null)
+ message.target = String(object.target);
+ if (object.verb != null)
+ message.verb = String(object.verb);
+ if (object.statusMessage != null)
+ message.statusMessage = String(object.statusMessage);
+ if (object.requestedCancellation != null)
+ message.requestedCancellation = Boolean(object.requestedCancellation);
+ if (object.apiVersion != null)
+ message.apiVersion = String(object.apiVersion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.OperationMetadata} message OperationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OperationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.createTime = null;
+ object.endTime = null;
+ object.target = "";
+ object.verb = "";
+ object.statusMessage = "";
+ object.requestedCancellation = false;
+ object.apiVersion = "";
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.target != null && message.hasOwnProperty("target"))
+ object.target = message.target;
+ if (message.verb != null && message.hasOwnProperty("verb"))
+ object.verb = message.verb;
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ object.statusMessage = message.statusMessage;
+ if (message.requestedCancellation != null && message.hasOwnProperty("requestedCancellation"))
+ object.requestedCancellation = message.requestedCancellation;
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ object.apiVersion = message.apiVersion;
+ return object;
+ };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OperationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1alpha1.OperationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1alpha1.OperationMetadata";
+ };
+
+ return OperationMetadata;
+ })();
+
+ v1alpha1.HubService = (function() {
+
+ /**
+ * Constructs a new HubService service.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @classdesc Represents a HubService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function HubService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (HubService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = HubService;
+
+ /**
+ * Creates new HubService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {HubService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ HubService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|listHubs}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef ListHubsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1alpha1.ListHubsResponse} [response] ListHubsResponse
+ */
+
+ /**
+ * Calls ListHubs.
+ * @function listHubs
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsRequest} request ListHubsRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.ListHubsCallback} callback Node-style callback called with the error, if any, and ListHubsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.listHubs = function listHubs(request, callback) {
+ return this.rpcCall(listHubs, $root.google.cloud.networkconnectivity.v1alpha1.ListHubsRequest, $root.google.cloud.networkconnectivity.v1alpha1.ListHubsResponse, request, callback);
+ }, "name", { value: "ListHubs" });
+
+ /**
+ * Calls ListHubs.
+ * @function listHubs
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsRequest} request ListHubsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|getHub}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef GetHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1alpha1.Hub} [response] Hub
+ */
+
+ /**
+ * Calls GetHub.
+ * @function getHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetHubRequest} request GetHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.GetHubCallback} callback Node-style callback called with the error, if any, and Hub
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.getHub = function getHub(request, callback) {
+ return this.rpcCall(getHub, $root.google.cloud.networkconnectivity.v1alpha1.GetHubRequest, $root.google.cloud.networkconnectivity.v1alpha1.Hub, request, callback);
+ }, "name", { value: "GetHub" });
+
+ /**
+ * Calls GetHub.
+ * @function getHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetHubRequest} request GetHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|createHub}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef CreateHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateHub.
+ * @function createHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest} request CreateHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.CreateHubCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.createHub = function createHub(request, callback) {
+ return this.rpcCall(createHub, $root.google.cloud.networkconnectivity.v1alpha1.CreateHubRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateHub" });
+
+ /**
+ * Calls CreateHub.
+ * @function createHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.ICreateHubRequest} request CreateHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|updateHub}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef UpdateHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateHub.
+ * @function updateHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest} request UpdateHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.UpdateHubCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.updateHub = function updateHub(request, callback) {
+ return this.rpcCall(updateHub, $root.google.cloud.networkconnectivity.v1alpha1.UpdateHubRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateHub" });
+
+ /**
+ * Calls UpdateHub.
+ * @function updateHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IUpdateHubRequest} request UpdateHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|deleteHub}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef DeleteHubCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteHub.
+ * @function deleteHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest} request DeleteHubRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.DeleteHubCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.deleteHub = function deleteHub(request, callback) {
+ return this.rpcCall(deleteHub, $root.google.cloud.networkconnectivity.v1alpha1.DeleteHubRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteHub" });
+
+ /**
+ * Calls DeleteHub.
+ * @function deleteHub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IDeleteHubRequest} request DeleteHubRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|listSpokes}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef ListSpokesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse} [response] ListSpokesResponse
+ */
+
+ /**
+ * Calls ListSpokes.
+ * @function listSpokes
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest} request ListSpokesRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.ListSpokesCallback} callback Node-style callback called with the error, if any, and ListSpokesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.listSpokes = function listSpokes(request, callback) {
+ return this.rpcCall(listSpokes, $root.google.cloud.networkconnectivity.v1alpha1.ListSpokesRequest, $root.google.cloud.networkconnectivity.v1alpha1.ListSpokesResponse, request, callback);
+ }, "name", { value: "ListSpokes" });
+
+ /**
+ * Calls ListSpokes.
+ * @function listSpokes
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListSpokesRequest} request ListSpokesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|getSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef GetSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.networkconnectivity.v1alpha1.Spoke} [response] Spoke
+ */
+
+ /**
+ * Calls GetSpoke.
+ * @function getSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest} request GetSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.GetSpokeCallback} callback Node-style callback called with the error, if any, and Spoke
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.getSpoke = function getSpoke(request, callback) {
+ return this.rpcCall(getSpoke, $root.google.cloud.networkconnectivity.v1alpha1.GetSpokeRequest, $root.google.cloud.networkconnectivity.v1alpha1.Spoke, request, callback);
+ }, "name", { value: "GetSpoke" });
+
+ /**
+ * Calls GetSpoke.
+ * @function getSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetSpokeRequest} request GetSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|createSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef CreateSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateSpoke.
+ * @function createSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest} request CreateSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.CreateSpokeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.createSpoke = function createSpoke(request, callback) {
+ return this.rpcCall(createSpoke, $root.google.cloud.networkconnectivity.v1alpha1.CreateSpokeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateSpoke" });
+
+ /**
+ * Calls CreateSpoke.
+ * @function createSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.ICreateSpokeRequest} request CreateSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|updateSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef UpdateSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateSpoke.
+ * @function updateSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest} request UpdateSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.UpdateSpokeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.updateSpoke = function updateSpoke(request, callback) {
+ return this.rpcCall(updateSpoke, $root.google.cloud.networkconnectivity.v1alpha1.UpdateSpokeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateSpoke" });
+
+ /**
+ * Calls UpdateSpoke.
+ * @function updateSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IUpdateSpokeRequest} request UpdateSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.networkconnectivity.v1alpha1.HubService|deleteSpoke}.
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @typedef DeleteSpokeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteSpoke.
+ * @function deleteSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest} request DeleteSpokeRequest message or plain object
+ * @param {google.cloud.networkconnectivity.v1alpha1.HubService.DeleteSpokeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(HubService.prototype.deleteSpoke = function deleteSpoke(request, callback) {
+ return this.rpcCall(deleteSpoke, $root.google.cloud.networkconnectivity.v1alpha1.DeleteSpokeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteSpoke" });
+
+ /**
+ * Calls DeleteSpoke.
+ * @function deleteSpoke
+ * @memberof google.cloud.networkconnectivity.v1alpha1.HubService
+ * @instance
+ * @param {google.cloud.networkconnectivity.v1alpha1.IDeleteSpokeRequest} request DeleteSpokeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return HubService;
+ })();
+
+ v1alpha1.Hub = (function() {
+
+ /**
+ * Properties of a Hub.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @interface IHub
+ * @property {string|null} [name] Hub name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Hub createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Hub updateTime
+ * @property {Object.|null} [labels] Hub labels
+ * @property {string|null} [description] Hub description
+ * @property {Array.|null} [spokes] Hub spokes
+ * @property {string|null} [uniqueId] Hub uniqueId
+ * @property {google.cloud.networkconnectivity.v1alpha1.State|null} [state] Hub state
+ */
+
+ /**
+ * Constructs a new Hub.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @classdesc Represents a Hub.
+ * @implements IHub
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1alpha1.IHub=} [properties] Properties to set
+ */
+ function Hub(properties) {
+ this.labels = {};
+ this.spokes = [];
+ 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]];
+ }
+
+ /**
+ * Hub name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.name = "";
+
+ /**
+ * Hub createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.createTime = null;
+
+ /**
+ * Hub updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.updateTime = null;
+
+ /**
+ * Hub labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.labels = $util.emptyObject;
+
+ /**
+ * Hub description.
+ * @member {string} description
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.description = "";
+
+ /**
+ * Hub spokes.
+ * @member {Array.} spokes
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.spokes = $util.emptyArray;
+
+ /**
+ * Hub uniqueId.
+ * @member {string} uniqueId
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.uniqueId = "";
+
+ /**
+ * Hub state.
+ * @member {google.cloud.networkconnectivity.v1alpha1.State} state
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ */
+ Hub.prototype.state = 0;
+
+ /**
+ * Creates a new Hub instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IHub=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Hub} Hub instance
+ */
+ Hub.create = function create(properties) {
+ return new Hub(properties);
+ };
+
+ /**
+ * Encodes the specified Hub message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Hub.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IHub} message Hub message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Hub.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.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.spokes != null && message.spokes.length)
+ for (var i = 0; i < message.spokes.length; ++i)
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.spokes[i]);
+ if (message.uniqueId != null && Object.hasOwnProperty.call(message, "uniqueId"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.uniqueId);
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.state);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Hub message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Hub.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IHub} message Hub message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Hub.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Hub} Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Hub.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1alpha1.Hub(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ if (!(message.spokes && message.spokes.length))
+ message.spokes = [];
+ message.spokes.push(reader.string());
+ break;
+ }
+ case 8: {
+ message.uniqueId = reader.string();
+ break;
+ }
+ case 9: {
+ message.state = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Hub message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Hub} Hub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Hub.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Hub message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Hub.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.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.spokes != null && message.hasOwnProperty("spokes")) {
+ if (!Array.isArray(message.spokes))
+ return "spokes: array expected";
+ for (var i = 0; i < message.spokes.length; ++i)
+ if (!$util.isString(message.spokes[i]))
+ return "spokes: string[] expected";
+ }
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ if (!$util.isString(message.uniqueId))
+ return "uniqueId: string expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Hub message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Hub} Hub
+ */
+ Hub.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1alpha1.Hub)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1alpha1.Hub();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Hub.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Hub.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Hub.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.spokes) {
+ if (!Array.isArray(object.spokes))
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Hub.spokes: array expected");
+ message.spokes = [];
+ for (var i = 0; i < object.spokes.length; ++i)
+ message.spokes[i] = String(object.spokes[i]);
+ }
+ if (object.uniqueId != null)
+ message.uniqueId = String(object.uniqueId);
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "CREATING":
+ case 1:
+ message.state = 1;
+ break;
+ case "ACTIVE":
+ case 2:
+ message.state = 2;
+ break;
+ case "DELETING":
+ case 3:
+ message.state = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Hub message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.Hub} message Hub
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Hub.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.spokes = [];
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.description = "";
+ object.uniqueId = "";
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.spokes && message.spokes.length) {
+ object.spokes = [];
+ for (var j = 0; j < message.spokes.length; ++j)
+ object.spokes[j] = message.spokes[j];
+ }
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ object.uniqueId = message.uniqueId;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.networkconnectivity.v1alpha1.State[message.state] === undefined ? message.state : $root.google.cloud.networkconnectivity.v1alpha1.State[message.state] : message.state;
+ return object;
+ };
+
+ /**
+ * Converts this Hub to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Hub.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Hub
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Hub
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Hub.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1alpha1.Hub";
+ };
+
+ return Hub;
+ })();
+
+ v1alpha1.Spoke = (function() {
+
+ /**
+ * Properties of a Spoke.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @interface ISpoke
+ * @property {string|null} [name] Spoke name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Spoke createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Spoke updateTime
+ * @property {Object.|null} [labels] Spoke labels
+ * @property {string|null} [description] Spoke description
+ * @property {string|null} [hub] Spoke hub
+ * @property {Array.|null} [linkedVpnTunnels] Spoke linkedVpnTunnels
+ * @property {Array.|null} [linkedInterconnectAttachments] Spoke linkedInterconnectAttachments
+ * @property {Array.|null} [linkedRouterApplianceInstances] Spoke linkedRouterApplianceInstances
+ * @property {string|null} [uniqueId] Spoke uniqueId
+ * @property {google.cloud.networkconnectivity.v1alpha1.State|null} [state] Spoke state
+ */
+
+ /**
+ * Constructs a new Spoke.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @classdesc Represents a Spoke.
+ * @implements ISpoke
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1alpha1.ISpoke=} [properties] Properties to set
+ */
+ function Spoke(properties) {
+ this.labels = {};
+ this.linkedVpnTunnels = [];
+ this.linkedInterconnectAttachments = [];
+ this.linkedRouterApplianceInstances = [];
+ 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]];
+ }
+
+ /**
+ * Spoke name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.name = "";
+
+ /**
+ * Spoke createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.createTime = null;
+
+ /**
+ * Spoke updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.updateTime = null;
+
+ /**
+ * Spoke labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.labels = $util.emptyObject;
+
+ /**
+ * Spoke description.
+ * @member {string} description
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.description = "";
+
+ /**
+ * Spoke hub.
+ * @member {string} hub
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.hub = "";
+
+ /**
+ * Spoke linkedVpnTunnels.
+ * @member {Array.} linkedVpnTunnels
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.linkedVpnTunnels = $util.emptyArray;
+
+ /**
+ * Spoke linkedInterconnectAttachments.
+ * @member {Array.} linkedInterconnectAttachments
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.linkedInterconnectAttachments = $util.emptyArray;
+
+ /**
+ * Spoke linkedRouterApplianceInstances.
+ * @member {Array.} linkedRouterApplianceInstances
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.linkedRouterApplianceInstances = $util.emptyArray;
+
+ /**
+ * Spoke uniqueId.
+ * @member {string} uniqueId
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.uniqueId = "";
+
+ /**
+ * Spoke state.
+ * @member {google.cloud.networkconnectivity.v1alpha1.State} state
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ */
+ Spoke.prototype.state = 0;
+
+ /**
+ * Creates a new Spoke instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.ISpoke=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Spoke} Spoke instance
+ */
+ Spoke.create = function create(properties) {
+ return new Spoke(properties);
+ };
+
+ /**
+ * Encodes the specified Spoke message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Spoke.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.ISpoke} message Spoke message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Spoke.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.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.hub != null && Object.hasOwnProperty.call(message, "hub"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.hub);
+ if (message.uniqueId != null && Object.hasOwnProperty.call(message, "uniqueId"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.uniqueId);
+ if (message.linkedVpnTunnels != null && message.linkedVpnTunnels.length)
+ for (var i = 0; i < message.linkedVpnTunnels.length; ++i)
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.linkedVpnTunnels[i]);
+ if (message.linkedInterconnectAttachments != null && message.linkedInterconnectAttachments.length)
+ for (var i = 0; i < message.linkedInterconnectAttachments.length; ++i)
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.linkedInterconnectAttachments[i]);
+ if (message.linkedRouterApplianceInstances != null && message.linkedRouterApplianceInstances.length)
+ for (var i = 0; i < message.linkedRouterApplianceInstances.length; ++i)
+ $root.google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance.encode(message.linkedRouterApplianceInstances[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 15, wireType 0 =*/120).int32(message.state);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Spoke message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.Spoke.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.ISpoke} message Spoke message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Spoke.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Spoke} Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Spoke.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1alpha1.Spoke(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ message.hub = reader.string();
+ break;
+ }
+ case 12: {
+ if (!(message.linkedVpnTunnels && message.linkedVpnTunnels.length))
+ message.linkedVpnTunnels = [];
+ message.linkedVpnTunnels.push(reader.string());
+ break;
+ }
+ case 13: {
+ if (!(message.linkedInterconnectAttachments && message.linkedInterconnectAttachments.length))
+ message.linkedInterconnectAttachments = [];
+ message.linkedInterconnectAttachments.push(reader.string());
+ break;
+ }
+ case 14: {
+ if (!(message.linkedRouterApplianceInstances && message.linkedRouterApplianceInstances.length))
+ message.linkedRouterApplianceInstances = [];
+ message.linkedRouterApplianceInstances.push($root.google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance.decode(reader, reader.uint32()));
+ break;
+ }
+ case 11: {
+ message.uniqueId = reader.string();
+ break;
+ }
+ case 15: {
+ message.state = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Spoke message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Spoke} Spoke
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Spoke.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Spoke message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Spoke.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.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.hub != null && message.hasOwnProperty("hub"))
+ if (!$util.isString(message.hub))
+ return "hub: string expected";
+ if (message.linkedVpnTunnels != null && message.hasOwnProperty("linkedVpnTunnels")) {
+ if (!Array.isArray(message.linkedVpnTunnels))
+ return "linkedVpnTunnels: array expected";
+ for (var i = 0; i < message.linkedVpnTunnels.length; ++i)
+ if (!$util.isString(message.linkedVpnTunnels[i]))
+ return "linkedVpnTunnels: string[] expected";
+ }
+ if (message.linkedInterconnectAttachments != null && message.hasOwnProperty("linkedInterconnectAttachments")) {
+ if (!Array.isArray(message.linkedInterconnectAttachments))
+ return "linkedInterconnectAttachments: array expected";
+ for (var i = 0; i < message.linkedInterconnectAttachments.length; ++i)
+ if (!$util.isString(message.linkedInterconnectAttachments[i]))
+ return "linkedInterconnectAttachments: string[] expected";
+ }
+ if (message.linkedRouterApplianceInstances != null && message.hasOwnProperty("linkedRouterApplianceInstances")) {
+ if (!Array.isArray(message.linkedRouterApplianceInstances))
+ return "linkedRouterApplianceInstances: array expected";
+ for (var i = 0; i < message.linkedRouterApplianceInstances.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance.verify(message.linkedRouterApplianceInstances[i]);
+ if (error)
+ return "linkedRouterApplianceInstances." + error;
+ }
+ }
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ if (!$util.isString(message.uniqueId))
+ return "uniqueId: string expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Spoke message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1alpha1.Spoke} Spoke
+ */
+ Spoke.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1alpha1.Spoke)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1alpha1.Spoke();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Spoke.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Spoke.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Spoke.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.hub != null)
+ message.hub = String(object.hub);
+ if (object.linkedVpnTunnels) {
+ if (!Array.isArray(object.linkedVpnTunnels))
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Spoke.linkedVpnTunnels: array expected");
+ message.linkedVpnTunnels = [];
+ for (var i = 0; i < object.linkedVpnTunnels.length; ++i)
+ message.linkedVpnTunnels[i] = String(object.linkedVpnTunnels[i]);
+ }
+ if (object.linkedInterconnectAttachments) {
+ if (!Array.isArray(object.linkedInterconnectAttachments))
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Spoke.linkedInterconnectAttachments: array expected");
+ message.linkedInterconnectAttachments = [];
+ for (var i = 0; i < object.linkedInterconnectAttachments.length; ++i)
+ message.linkedInterconnectAttachments[i] = String(object.linkedInterconnectAttachments[i]);
+ }
+ if (object.linkedRouterApplianceInstances) {
+ if (!Array.isArray(object.linkedRouterApplianceInstances))
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Spoke.linkedRouterApplianceInstances: array expected");
+ message.linkedRouterApplianceInstances = [];
+ for (var i = 0; i < object.linkedRouterApplianceInstances.length; ++i) {
+ if (typeof object.linkedRouterApplianceInstances[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.Spoke.linkedRouterApplianceInstances: object expected");
+ message.linkedRouterApplianceInstances[i] = $root.google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance.fromObject(object.linkedRouterApplianceInstances[i]);
+ }
+ }
+ if (object.uniqueId != null)
+ message.uniqueId = String(object.uniqueId);
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "CREATING":
+ case 1:
+ message.state = 1;
+ break;
+ case "ACTIVE":
+ case 2:
+ message.state = 2;
+ break;
+ case "DELETING":
+ case 3:
+ message.state = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Spoke message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.Spoke} message Spoke
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Spoke.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.linkedVpnTunnels = [];
+ object.linkedInterconnectAttachments = [];
+ object.linkedRouterApplianceInstances = [];
+ }
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.description = "";
+ object.hub = "";
+ object.uniqueId = "";
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.hub != null && message.hasOwnProperty("hub"))
+ object.hub = message.hub;
+ if (message.uniqueId != null && message.hasOwnProperty("uniqueId"))
+ object.uniqueId = message.uniqueId;
+ if (message.linkedVpnTunnels && message.linkedVpnTunnels.length) {
+ object.linkedVpnTunnels = [];
+ for (var j = 0; j < message.linkedVpnTunnels.length; ++j)
+ object.linkedVpnTunnels[j] = message.linkedVpnTunnels[j];
+ }
+ if (message.linkedInterconnectAttachments && message.linkedInterconnectAttachments.length) {
+ object.linkedInterconnectAttachments = [];
+ for (var j = 0; j < message.linkedInterconnectAttachments.length; ++j)
+ object.linkedInterconnectAttachments[j] = message.linkedInterconnectAttachments[j];
+ }
+ if (message.linkedRouterApplianceInstances && message.linkedRouterApplianceInstances.length) {
+ object.linkedRouterApplianceInstances = [];
+ for (var j = 0; j < message.linkedRouterApplianceInstances.length; ++j)
+ object.linkedRouterApplianceInstances[j] = $root.google.cloud.networkconnectivity.v1alpha1.RouterApplianceInstance.toObject(message.linkedRouterApplianceInstances[j], options);
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.networkconnectivity.v1alpha1.State[message.state] === undefined ? message.state : $root.google.cloud.networkconnectivity.v1alpha1.State[message.state] : message.state;
+ return object;
+ };
+
+ /**
+ * Converts this Spoke to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Spoke.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Spoke
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1alpha1.Spoke
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Spoke.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1alpha1.Spoke";
+ };
+
+ return Spoke;
+ })();
+
+ v1alpha1.ListHubsRequest = (function() {
+
+ /**
+ * Properties of a ListHubsRequest.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @interface IListHubsRequest
+ * @property {string|null} [parent] ListHubsRequest parent
+ * @property {number|null} [pageSize] ListHubsRequest pageSize
+ * @property {string|null} [pageToken] ListHubsRequest pageToken
+ * @property {string|null} [filter] ListHubsRequest filter
+ * @property {string|null} [orderBy] ListHubsRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListHubsRequest.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @classdesc Represents a ListHubsRequest.
+ * @implements IListHubsRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsRequest=} [properties] Properties to set
+ */
+ function ListHubsRequest(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]];
+ }
+
+ /**
+ * ListHubsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.parent = "";
+
+ /**
+ * ListHubsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListHubsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.pageToken = "";
+
+ /**
+ * ListHubsRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.filter = "";
+
+ /**
+ * ListHubsRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @instance
+ */
+ ListHubsRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListHubsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsRequest} ListHubsRequest instance
+ */
+ ListHubsRequest.create = function create(properties) {
+ return new ListHubsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListHubsRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsRequest} message ListHubsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListHubsRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsRequest} message ListHubsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsRequest} ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1alpha1.ListHubsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListHubsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsRequest} ListHubsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListHubsRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListHubsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListHubsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsRequest} ListHubsRequest
+ */
+ ListHubsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1alpha1.ListHubsRequest)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1alpha1.ListHubsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListHubsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.ListHubsRequest} message ListHubsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListHubsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListHubsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListHubsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListHubsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListHubsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1alpha1.ListHubsRequest";
+ };
+
+ return ListHubsRequest;
+ })();
+
+ v1alpha1.ListHubsResponse = (function() {
+
+ /**
+ * Properties of a ListHubsResponse.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @interface IListHubsResponse
+ * @property {Array.|null} [hubs] ListHubsResponse hubs
+ * @property {string|null} [nextPageToken] ListHubsResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListHubsResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListHubsResponse.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @classdesc Represents a ListHubsResponse.
+ * @implements IListHubsResponse
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsResponse=} [properties] Properties to set
+ */
+ function ListHubsResponse(properties) {
+ this.hubs = [];
+ this.unreachable = [];
+ 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]];
+ }
+
+ /**
+ * ListHubsResponse hubs.
+ * @member {Array.} hubs
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @instance
+ */
+ ListHubsResponse.prototype.hubs = $util.emptyArray;
+
+ /**
+ * ListHubsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @instance
+ */
+ ListHubsResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListHubsResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @instance
+ */
+ ListHubsResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListHubsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsResponse=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsResponse} ListHubsResponse instance
+ */
+ ListHubsResponse.create = function create(properties) {
+ return new ListHubsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListHubsResponse message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsResponse} message ListHubsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.hubs != null && message.hubs.length)
+ for (var i = 0; i < message.hubs.length; ++i)
+ $root.google.cloud.networkconnectivity.v1alpha1.Hub.encode(message.hubs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListHubsResponse message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.ListHubsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IListHubsResponse} message ListHubsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListHubsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsResponse} ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1alpha1.ListHubsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.hubs && message.hubs.length))
+ message.hubs = [];
+ message.hubs.push($root.google.cloud.networkconnectivity.v1alpha1.Hub.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListHubsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsResponse} ListHubsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListHubsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListHubsResponse message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListHubsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.hubs != null && message.hasOwnProperty("hubs")) {
+ if (!Array.isArray(message.hubs))
+ return "hubs: array expected";
+ for (var i = 0; i < message.hubs.length; ++i) {
+ var error = $root.google.cloud.networkconnectivity.v1alpha1.Hub.verify(message.hubs[i]);
+ if (error)
+ return "hubs." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListHubsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.networkconnectivity.v1alpha1.ListHubsResponse} ListHubsResponse
+ */
+ ListHubsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.networkconnectivity.v1alpha1.ListHubsResponse)
+ return object;
+ var message = new $root.google.cloud.networkconnectivity.v1alpha1.ListHubsResponse();
+ if (object.hubs) {
+ if (!Array.isArray(object.hubs))
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.ListHubsResponse.hubs: array expected");
+ message.hubs = [];
+ for (var i = 0; i < object.hubs.length; ++i) {
+ if (typeof object.hubs[i] !== "object")
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.ListHubsResponse.hubs: object expected");
+ message.hubs[i] = $root.google.cloud.networkconnectivity.v1alpha1.Hub.fromObject(object.hubs[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.networkconnectivity.v1alpha1.ListHubsResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListHubsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.ListHubsResponse} message ListHubsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListHubsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.hubs = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.hubs && message.hubs.length) {
+ object.hubs = [];
+ for (var j = 0; j < message.hubs.length; ++j)
+ object.hubs[j] = $root.google.cloud.networkconnectivity.v1alpha1.Hub.toObject(message.hubs[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListHubsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListHubsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListHubsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.networkconnectivity.v1alpha1.ListHubsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListHubsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.networkconnectivity.v1alpha1.ListHubsResponse";
+ };
+
+ return ListHubsResponse;
+ })();
+
+ v1alpha1.GetHubRequest = (function() {
+
+ /**
+ * Properties of a GetHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @interface IGetHubRequest
+ * @property {string|null} [name] GetHubRequest name
+ */
+
+ /**
+ * Constructs a new GetHubRequest.
+ * @memberof google.cloud.networkconnectivity.v1alpha1
+ * @classdesc Represents a GetHubRequest.
+ * @implements IGetHubRequest
+ * @constructor
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetHubRequest=} [properties] Properties to set
+ */
+ function GetHubRequest(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]];
+ }
+
+ /**
+ * GetHubRequest name.
+ * @member {string} name
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @instance
+ */
+ GetHubRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetHubRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetHubRequest=} [properties] Properties to set
+ * @returns {google.cloud.networkconnectivity.v1alpha1.GetHubRequest} GetHubRequest instance
+ */
+ GetHubRequest.create = function create(properties) {
+ return new GetHubRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetHubRequest message. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.GetHubRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetHubRequest} message GetHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetHubRequest.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);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetHubRequest message, length delimited. Does not implicitly {@link google.cloud.networkconnectivity.v1alpha1.GetHubRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @static
+ * @param {google.cloud.networkconnectivity.v1alpha1.IGetHubRequest} message GetHubRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetHubRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.networkconnectivity.v1alpha1.GetHubRequest} GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetHubRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.networkconnectivity.v1alpha1.GetHubRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetHubRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.networkconnectivity.v1alpha1.GetHubRequest} GetHubRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetHubRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetHubRequest message.
+ * @function verify
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetHubRequest.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";
+ return null;
+ };
+
+ /**
+ * Creates a GetHubRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.networkconnectivity.v1alpha1.GetHubRequest
+ * @static
+ * @param {Object.