diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 0e55ffd9a69..6ec443a1880 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -72,6 +72,7 @@
"packages/google-cloud-shell": "2.0.4",
"packages/google-cloud-talent": "5.0.1",
"packages/google-cloud-texttospeech": "4.0.4",
+ "packages/google-cloud-tpu": "2.2.0",
"packages/google-cloud-translate": "7.0.4",
"packages/google-cloud-video-livestream": "0.3.4",
"packages/google-cloud-video-transcoder": "2.2.3",
diff --git a/packages/google-cloud-tpu/.OwlBot.yaml b/packages/google-cloud-tpu/.OwlBot.yaml
new file mode 100644
index 00000000000..1ce639967ae
--- /dev/null
+++ b/packages/google-cloud-tpu/.OwlBot.yaml
@@ -0,0 +1,20 @@
+# 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/tpu/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-tpu/$1
diff --git a/packages/google-cloud-tpu/.eslintignore b/packages/google-cloud-tpu/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-tpu/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-tpu/.eslintrc.json b/packages/google-cloud-tpu/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-tpu/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-tpu/.gitattributes b/packages/google-cloud-tpu/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-tpu/.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-tpu/.gitignore b/packages/google-cloud-tpu/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-tpu/.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-tpu/.jsdoc.js b/packages/google-cloud-tpu/.jsdoc.js
new file mode 100644
index 00000000000..5b3c57ae725
--- /dev/null
+++ b/packages/google-cloud-tpu/.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/tpu',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-tpu/.mocharc.js b/packages/google-cloud-tpu/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-tpu/.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-tpu/.nycrc b/packages/google-cloud-tpu/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-tpu/.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-tpu/.prettierignore b/packages/google-cloud-tpu/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-tpu/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-tpu/.prettierrc.js b/packages/google-cloud-tpu/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-tpu/.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-tpu/.repo-metadata.json b/packages/google-cloud-tpu/.repo-metadata.json
new file mode 100644
index 00000000000..c097d15e8ed
--- /dev/null
+++ b/packages/google-cloud-tpu/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "name": "tpu",
+ "name_pretty": "Cloud TPU",
+ "product_documentation": "https://cloud.google.com/tpu/",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/tpu/latest",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "stable",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/tpu",
+ "api_id": "tpu.googleapis.com",
+ "default_version": "v1",
+ "requires_billing": true,
+ "api_shortname": "tpu",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md
new file mode 100644
index 00000000000..f8441f7eb62
--- /dev/null
+++ b/packages/google-cloud-tpu/CHANGELOG.md
@@ -0,0 +1,105 @@
+# Changelog
+
+## [2.2.0](https://github.com/googleapis/nodejs-cloud-tpu/compare/v2.1.0...v2.2.0) (2022-11-10)
+
+
+### Features
+
+* Add Secure Boot support to TPU v2alpha1 API ([#98](https://github.com/googleapis/nodejs-cloud-tpu/issues/98)) ([e4fc278](https://github.com/googleapis/nodejs-cloud-tpu/commit/e4fc27883278b8161bb7ad598dd83021e2467d99))
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#96](https://github.com/googleapis/nodejs-cloud-tpu/issues/96)) ([d636ecf](https://github.com/googleapis/nodejs-cloud-tpu/commit/d636ecf4798258a71f289bd6a6add2cf45e6a2cb))
+* Better support for fallback mode ([#91](https://github.com/googleapis/nodejs-cloud-tpu/issues/91)) ([a291abd](https://github.com/googleapis/nodejs-cloud-tpu/commit/a291abd4a0418eb375f9c4a27f19735afee4acca))
+* Change import long to require ([#92](https://github.com/googleapis/nodejs-cloud-tpu/issues/92)) ([5de09bb](https://github.com/googleapis/nodejs-cloud-tpu/commit/5de09bb8786a790ff5a6d643f8493b6f6ea3c4ec))
+* **deps:** Use google-gax v3.5.2 ([#104](https://github.com/googleapis/nodejs-cloud-tpu/issues/104)) ([86b8617](https://github.com/googleapis/nodejs-cloud-tpu/commit/86b86173fe7f8dd33e5cb6abb683f32d148670c6))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-cloud-tpu/issues/1553)) ([#95](https://github.com/googleapis/nodejs-cloud-tpu/issues/95)) ([e4289c1](https://github.com/googleapis/nodejs-cloud-tpu/commit/e4289c164ea2123947328ceddfb09cf083e50a19))
+* Preserve default values in x-goog-request-params header ([#97](https://github.com/googleapis/nodejs-cloud-tpu/issues/97)) ([42310b7](https://github.com/googleapis/nodejs-cloud-tpu/commit/42310b7a99b51320e9924f8ecd1d75513b28b598))
+* Regenerated protos JS and TS definitions ([#107](https://github.com/googleapis/nodejs-cloud-tpu/issues/107)) ([7e3cba5](https://github.com/googleapis/nodejs-cloud-tpu/commit/7e3cba5fd489373a7c460369d37f04c32e3cd9c3))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-cloud-tpu/issues/1546)) ([#94](https://github.com/googleapis/nodejs-cloud-tpu/issues/94)) ([7a26fe6](https://github.com/googleapis/nodejs-cloud-tpu/commit/7a26fe63b51c661bdd22bfafecc3d4291247dddf))
+* use google-gax v3.3.0 ([e4289c1](https://github.com/googleapis/nodejs-cloud-tpu/commit/e4289c164ea2123947328ceddfb09cf083e50a19))
+
+## [2.1.0](https://github.com/googleapis/nodejs-cloud-tpu/compare/v2.0.0...v2.1.0) (2022-07-12)
+
+
+### Features
+
+* support regapic LRO ([#87](https://github.com/googleapis/nodejs-cloud-tpu/issues/87)) ([31164e2](https://github.com/googleapis/nodejs-cloud-tpu/commit/31164e2e804f18f5178177ce99d5741cb7211712))
+
+## [2.0.0](https://github.com/googleapis/nodejs-cloud-tpu/compare/v1.2.0...v2.0.0) (2022-05-19)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#82)
+
+### Build System
+
+* update library to use Node 12 ([#82](https://github.com/googleapis/nodejs-cloud-tpu/issues/82)) ([634cad2](https://github.com/googleapis/nodejs-cloud-tpu/commit/634cad22ed0d3e91e02144a292da68c8cd31c0e2))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.1.1...v1.2.0) (2021-10-19)
+
+
+### Features
+
+* TPU v2alpha1 public protos ([#43](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/43)) ([0b3aba7](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/0b3aba7b67adeb3df55c735eb513ffdcefe65e3d))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.1.0...v1.1.1) (2021-08-25)
+
+
+### Bug Fixes
+
+* flag module as GA ([#32](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/32)) ([80ee7de](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/80ee7deaa87856edab4e65f8a21caaf9b8d49ba7))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.0.5...v1.1.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#29](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/29)) ([4db100d](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/4db100d7f17f367ebda9614e9b4709236f52fe9e))
+
+### [1.0.5](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.0.4...v1.0.5) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#27](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/27)) ([68a71a9](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/68a71a9919b37cd7043cd1c3e607eedee15240c0))
+
+### [1.0.4](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.0.3...v1.0.4) (2021-08-11)
+
+
+### Bug Fixes
+
+* **build:** migrate to using main branch ([#25](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/25)) ([67db41d](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/67db41d374fe489f8cef6b6875692446a2178de8))
+
+### [1.0.3](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.0.2...v1.0.3) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#17](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/17)) ([3fdf1bf](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/3fdf1bfa1ca06ca496cc2d600dc855f51ac48344))
+
+### [1.0.2](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.0.1...v1.0.2) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#15](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/15)) ([296ef02](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/296ef02c62858bd75a141a65e38814ebaa7b377f))
+
+### [1.0.1](https://www.github.com/googleapis/nodejs-cloud-tpu/compare/v1.0.0...v1.0.1) (2021-06-29)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#13](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/13)) ([a162ec4](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/a162ec451cab0ccd68353d3863c60ce7073ead1a))
+* make request optional in all cases ([#9](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/9)) ([b8bde22](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/b8bde2285a9c855f14c9bd5552ea3141aa820a97))
+
+## 1.0.0 (2021-06-09)
+
+
+### Features
+
+* add initial files ([6eb8aaf](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/6eb8aaf3e3879b05b6dff76b8ea67c9409aa679a))
+* initial launch ([57096bc](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/57096bced4d57b0e543f947e95cd489dfacb8706))
+* initial samples and tests ([#2](https://www.github.com/googleapis/nodejs-cloud-tpu/issues/2)) ([918c455](https://www.github.com/googleapis/nodejs-cloud-tpu/commit/918c45528f002b5337a73b5cbc84f6895f2f5137))
diff --git a/packages/google-cloud-tpu/CODE_OF_CONDUCT.md b/packages/google-cloud-tpu/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-tpu/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-tpu/CONTRIBUTING.md b/packages/google-cloud-tpu/CONTRIBUTING.md
new file mode 100644
index 00000000000..2eba7bb8889
--- /dev/null
+++ b/packages/google-cloud-tpu/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 Cloud TPU 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=tpu.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-tpu/LICENSE b/packages/google-cloud-tpu/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-tpu/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-tpu/README.md b/packages/google-cloud-tpu/README.md
new file mode 100644
index 00000000000..8e85d28bf8e
--- /dev/null
+++ b/packages/google-cloud-tpu/README.md
@@ -0,0 +1,185 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Cloud TPU: 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/tpu.svg)](https://www.npmjs.org/package/@google-cloud/tpu)
+
+
+
+
+tpu 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-tpu/CHANGELOG.md).
+
+* [Cloud TPU Node.js Client API Reference][client-docs]
+* [Cloud TPU Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-tpu](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-tpu)
+
+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 Cloud TPU 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/tpu
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+
+// remove this line after package is released
+// eslint-disable-next-line node/no-missing-require
+const {TpuClient} = require('@google-cloud/tpu');
+
+// TODO(developer): replace with your prefered project ID.
+// const projectId = 'my-project'
+
+// Creates a client
+const client = new TpuClient();
+
+async function listNodes() {
+ const nodes = await client.listNodes({
+ parent: `projects/${projectId}/locations/${location}`,
+ });
+ console.info(nodes);
+}
+listNodes();
+
+```
+
+
+
+## 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 |
+| --------------------------- | --------------------------------- | ------ |
+| Tpu.create_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.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=packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js,samples/README.md) |
+| Tpu.delete_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.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=packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js,samples/README.md) |
+| Tpu.get_accelerator_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.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=packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js,samples/README.md) |
+| Tpu.get_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.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=packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js,samples/README.md) |
+| Tpu.get_tensor_flow_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.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=packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js,samples/README.md) |
+| Tpu.list_accelerator_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.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=packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js,samples/README.md) |
+| Tpu.list_nodes | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.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=packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js,samples/README.md) |
+| Tpu.list_tensor_flow_versions | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.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=packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js,samples/README.md) |
+| Tpu.reimage_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.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=packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js,samples/README.md) |
+| Tpu.start_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.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=packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js,samples/README.md) |
+| Tpu.stop_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.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=packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js,samples/README.md) |
+| Tpu.create_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js,samples/README.md) |
+| Tpu.delete_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js,samples/README.md) |
+| Tpu.generate_service_identity | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js,samples/README.md) |
+| Tpu.get_accelerator_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js,samples/README.md) |
+| Tpu.get_guest_attributes | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js,samples/README.md) |
+| Tpu.get_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js,samples/README.md) |
+| Tpu.get_runtime_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js,samples/README.md) |
+| Tpu.list_accelerator_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js,samples/README.md) |
+| Tpu.list_nodes | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js,samples/README.md) |
+| Tpu.list_runtime_versions | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js,samples/README.md) |
+| Tpu.start_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js,samples/README.md) |
+| Tpu.stop_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js,samples/README.md) |
+| Tpu.update_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.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=packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/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=packages/google-cloud-tpu/samples/quickstart.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-tpu/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=packages/google-cloud-tpu/samples/test/quickstart.js,samples/README.md) |
+
+
+
+The [Cloud TPU 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/tpu@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/tpu/latest
+[product-docs]: https://cloud.google.com/tpu/
+[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=tpu.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-tpu/linkinator.config.json b/packages/google-cloud-tpu/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-tpu/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-tpu/package.json b/packages/google-cloud-tpu/package.json
new file mode 100644
index 00000000000..9af733449e4
--- /dev/null
+++ b/packages/google-cloud-tpu/package.json
@@ -0,0 +1,71 @@
+{
+ "name": "@google-cloud/tpu",
+ "version": "2.2.0",
+ "description": "tpu client for Node.js",
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-tpu",
+ "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 tpu",
+ "tpu",
+ "tpu 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.7.2",
+ "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.1.2",
+ "typescript": "^4.6.4",
+ "webpack": "^5.36.2",
+ "webpack-cli": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-tpu"
+}
diff --git a/packages/google-cloud-tpu/protos/google/cloud/tpu/v1/cloud_tpu.proto b/packages/google-cloud-tpu/protos/google/cloud/tpu/v1/cloud_tpu.proto
new file mode 100644
index 00000000000..08e83550b1f
--- /dev/null
+++ b/packages/google-cloud-tpu/protos/google/cloud/tpu/v1/cloud_tpu.proto
@@ -0,0 +1,622 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.tpu.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 go_package = "google.golang.org/genproto/googleapis/cloud/tpu/v1;tpu";
+option java_multiple_files = true;
+option java_outer_classname = "CloudTpuProto";
+option java_package = "com.google.cloud.tpu.v1";
+
+// Manages TPU nodes and other resources
+//
+// TPU API v1
+service Tpu {
+ option (google.api.default_host) = "tpu.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists nodes.
+ rpc ListNodes(ListNodesRequest) returns (ListNodesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/nodes"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the details of a node.
+ rpc GetNode(GetNodeRequest) returns (Node) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/nodes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a node.
+ rpc CreateNode(CreateNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/nodes"
+ body: "node"
+ };
+ option (google.api.method_signature) = "parent,node,node_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Deletes a node.
+ rpc DeleteNode(DeleteNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/nodes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Reimages a node's OS.
+ rpc ReimageNode(ReimageNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/nodes/*}:reimage"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Stops a node.
+ rpc StopNode(StopNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/nodes/*}:stop"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Starts a node.
+ rpc StartNode(StartNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/nodes/*}:start"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // List TensorFlow versions supported by this API.
+ rpc ListTensorFlowVersions(ListTensorFlowVersionsRequest) returns (ListTensorFlowVersionsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/tensorflowVersions"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets TensorFlow Version.
+ rpc GetTensorFlowVersion(GetTensorFlowVersionRequest) returns (TensorFlowVersion) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/tensorflowVersions/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists accelerator types supported by this API.
+ rpc ListAcceleratorTypes(ListAcceleratorTypesRequest) returns (ListAcceleratorTypesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/acceleratorTypes"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets AcceleratorType.
+ rpc GetAcceleratorType(GetAcceleratorTypeRequest) returns (AcceleratorType) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/acceleratorTypes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// Sets the scheduling options for this node.
+message SchedulingConfig {
+ // Defines whether the node is preemptible.
+ bool preemptible = 1;
+
+ // Whether the node is created under a reservation.
+ bool reserved = 2;
+}
+
+// A network endpoint over which a TPU worker can be reached.
+message NetworkEndpoint {
+ // The IP address of this network endpoint.
+ string ip_address = 1;
+
+ // The port of this network endpoint.
+ int32 port = 2;
+}
+
+// A TPU instance.
+message Node {
+ option (google.api.resource) = {
+ type: "tpu.googleapis.com/Node"
+ pattern: "projects/{project}/locations/{location}/nodes/{node}"
+ };
+
+ // Represents the different states of a TPU node during its lifecycle.
+ enum State {
+ // TPU node state is not known/set.
+ STATE_UNSPECIFIED = 0;
+
+ // TPU node is being created.
+ CREATING = 1;
+
+ // TPU node has been created and is fully usable.
+ READY = 2;
+
+ // TPU node is restarting.
+ RESTARTING = 3;
+
+ // TPU node is undergoing reimaging.
+ REIMAGING = 4;
+
+ // TPU node is being deleted.
+ DELETING = 5;
+
+ // TPU node is being repaired and may be unusable. Details can be
+ // found in the `help_description` field.
+ REPAIRING = 6;
+
+ // TPU node is stopped.
+ STOPPED = 8;
+
+ // TPU node is currently stopping.
+ STOPPING = 9;
+
+ // TPU node is currently starting.
+ STARTING = 10;
+
+ // TPU node has been preempted. Only applies to Preemptible TPU Nodes.
+ PREEMPTED = 11;
+
+ // TPU node has been terminated due to maintenance or has reached the end of
+ // its life cycle (for preemptible nodes).
+ TERMINATED = 12;
+
+ // TPU node is currently hiding.
+ HIDING = 13;
+
+ // TPU node has been hidden.
+ HIDDEN = 14;
+
+ // TPU node is currently unhiding.
+ UNHIDING = 15;
+ }
+
+ // Health defines the status of a TPU node as reported by
+ // Health Monitor.
+ enum Health {
+ // Health status is unknown: not initialized or failed to retrieve.
+ HEALTH_UNSPECIFIED = 0;
+
+ // The resource is healthy.
+ HEALTHY = 1;
+
+ // The resource is unhealthy.
+ DEPRECATED_UNHEALTHY = 2;
+
+ // The resource is unresponsive.
+ TIMEOUT = 3;
+
+ // The in-guest ML stack is unhealthy.
+ UNHEALTHY_TENSORFLOW = 4;
+
+ // The node is under maintenance/priority boost caused rescheduling and
+ // will resume running once rescheduled.
+ UNHEALTHY_MAINTENANCE = 5;
+ }
+
+ // TPU API Version.
+ enum ApiVersion {
+ // API version is unknown.
+ API_VERSION_UNSPECIFIED = 0;
+
+ // TPU API V1Alpha1 version.
+ V1_ALPHA1 = 1;
+
+ // TPU API V1 version.
+ V1 = 2;
+
+ // TPU API V2Alpha1 version.
+ V2_ALPHA1 = 3;
+ }
+
+ // Output only. Immutable. The name of the TPU
+ string name = 1 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = OUTPUT_ONLY
+ ];
+
+ // The user-supplied description of the TPU. Maximum of 512 characters.
+ string description = 3;
+
+ // Required. The type of hardware accelerators associated with this node.
+ string accelerator_type = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. DEPRECATED! Use network_endpoints instead.
+ // The network address for the TPU Node as visible to Compute Engine
+ // instances.
+ string ip_address = 8 [deprecated = true];
+
+ // Output only. DEPRECATED! Use network_endpoints instead.
+ // The network port for the TPU Node as visible to Compute Engine instances.
+ string port = 14 [deprecated = true];
+
+ // Output only. The current state for the TPU Node.
+ State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. If this field is populated, it contains a description of why the TPU Node
+ // is unhealthy.
+ string health_description = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The version of Tensorflow running in the Node.
+ string tensorflow_version = 11 [(google.api.field_behavior) = REQUIRED];
+
+ // The name of a network they wish to peer the TPU node to. It must be a
+ // preexisting Compute Engine network inside of the project on which this API
+ // has been activated. If none is provided, "default" will be used.
+ string network = 12;
+
+ // The CIDR block that the TPU node will use when selecting an IP address.
+ // This CIDR block must be a /29 block; the Compute Engine networks API
+ // forbids a smaller block, and using a larger block would be wasteful (a
+ // node can only consume one IP address). Errors will occur if the CIDR block
+ // has already been used for a currently existing TPU node, the CIDR block
+ // conflicts with any subnetworks in the user's provided network, or the
+ // provided network is peered with another network that is using that CIDR
+ // block.
+ string cidr_block = 13;
+
+ // Output only. The service account used to run the tensor flow services within the node.
+ // To share resources, including Google Cloud Storage data, with the
+ // Tensorflow job running in the Node, this account must have permissions to
+ // that data.
+ string service_account = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time when the node was created.
+ google.protobuf.Timestamp create_time = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The scheduling options for this node.
+ SchedulingConfig scheduling_config = 17;
+
+ // Output only. The network endpoints where TPU workers can be accessed and
+ // sent work. It is recommended that Tensorflow clients of the node reach out
+ // to the 0th entry in this map first.
+ repeated NetworkEndpoint network_endpoints = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The health status of the TPU node.
+ Health health = 22;
+
+ // Resource labels to represent user-provided metadata.
+ map labels = 24;
+
+ // Whether the VPC peering for the node is set up through Service Networking
+ // API. The VPC Peering should be set up before provisioning the node.
+ // If this field is set, cidr_block field should not be specified. If the
+ // network, that you want to peer the TPU Node to, is Shared VPC networks,
+ // the node must be created with this this field enabled.
+ bool use_service_networking = 27;
+
+ // Output only. The API version that created this Node.
+ ApiVersion api_version = 38 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The Symptoms that have occurred to the TPU Node.
+ repeated Symptom symptoms = 39 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request for [ListNodes][google.cloud.tpu.v1.Tpu.ListNodes].
+message ListNodesRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "tpu.googleapis.com/Node"
+ }
+ ];
+
+ // The maximum number of items to return.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+}
+
+// Response for [ListNodes][google.cloud.tpu.v1.Tpu.ListNodes].
+message ListNodesResponse {
+ // The listed nodes.
+ repeated Node nodes = 1;
+
+ // The next page token or empty if none.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request for [GetNode][google.cloud.tpu.v1.Tpu.GetNode].
+message GetNodeRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/Node"
+ }
+ ];
+}
+
+// Request for [CreateNode][google.cloud.tpu.v1.Tpu.CreateNode].
+message CreateNodeRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "tpu.googleapis.com/Node"
+ }
+ ];
+
+ // The unqualified resource name.
+ string node_id = 2;
+
+ // Required. The node.
+ Node node = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [DeleteNode][google.cloud.tpu.v1.Tpu.DeleteNode].
+message DeleteNodeRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/Node"
+ }
+ ];
+}
+
+// Request for [ReimageNode][google.cloud.tpu.v1.Tpu.ReimageNode].
+message ReimageNodeRequest {
+ // The resource name.
+ string name = 1;
+
+ // The version for reimage to create.
+ string tensorflow_version = 2;
+}
+
+// Request for [StopNode][google.cloud.tpu.v1.Tpu.StopNode].
+message StopNodeRequest {
+ // The resource name.
+ string name = 1;
+}
+
+// Request for [StartNode][google.cloud.tpu.v1.Tpu.StartNode].
+message StartNodeRequest {
+ // The resource name.
+ string name = 1;
+}
+
+// A tensorflow version that a Node can be configured with.
+message TensorFlowVersion {
+ option (google.api.resource) = {
+ type: "tpu.googleapis.com/TensorFlowVersion"
+ pattern: "projects/{project}/locations/{location}/tensorFlowVersions/{tensor_flow_version}"
+ };
+
+ // The resource name.
+ string name = 1;
+
+ // the tensorflow version.
+ string version = 2;
+}
+
+// Request for [GetTensorFlowVersion][google.cloud.tpu.v1.Tpu.GetTensorFlowVersion].
+message GetTensorFlowVersionRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/TensorFlowVersion"
+ }
+ ];
+}
+
+// Request for [ListTensorFlowVersions][google.cloud.tpu.v1.Tpu.ListTensorFlowVersions].
+message ListTensorFlowVersionsRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/TensorFlowVersion"
+ }
+ ];
+
+ // The maximum number of items to return.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+
+ // List filter.
+ string filter = 5;
+
+ // Sort results.
+ string order_by = 6;
+}
+
+// Response for [ListTensorFlowVersions][google.cloud.tpu.v1.Tpu.ListTensorFlowVersions].
+message ListTensorFlowVersionsResponse {
+ // The listed nodes.
+ repeated TensorFlowVersion tensorflow_versions = 1;
+
+ // The next page token or empty if none.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// A accelerator type that a Node can be configured with.
+message AcceleratorType {
+ option (google.api.resource) = {
+ type: "tpu.googleapis.com/AcceleratorType"
+ pattern: "projects/{project}/locations/{location}/acceleratorTypes/{accelerator_type}"
+ };
+
+ // The resource name.
+ string name = 1;
+
+ // the accelerator type.
+ string type = 2;
+}
+
+// Request for [GetAcceleratorType][google.cloud.tpu.v1.Tpu.GetAcceleratorType].
+message GetAcceleratorTypeRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/AcceleratorType"
+ }
+ ];
+}
+
+// Request for [ListAcceleratorTypes][google.cloud.tpu.v1.Tpu.ListAcceleratorTypes].
+message ListAcceleratorTypesRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/AcceleratorType"
+ }
+ ];
+
+ // The maximum number of items to return.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+
+ // List filter.
+ string filter = 5;
+
+ // Sort results.
+ string order_by = 6;
+}
+
+// Response for [ListAcceleratorTypes][google.cloud.tpu.v1.Tpu.ListAcceleratorTypes].
+message ListAcceleratorTypesResponse {
+ // The listed nodes.
+ repeated AcceleratorType accelerator_types = 1;
+
+ // The next page token or empty if none.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Note: the following OperationMetadata message was added manually.
+// This is caused by a conflict with some other message and will
+// be resolved separately. Please make sure to add this message back
+// if it's removed during public proto regeneration.
+
+// Metadata describing an [Operation][google.longrunning.Operation]
+message OperationMetadata {
+ // The time the operation was created.
+ google.protobuf.Timestamp create_time = 1;
+
+ // The time the operation finished running.
+ google.protobuf.Timestamp end_time = 2;
+
+ // Target of the operation - for example
+ // projects/project-1/connectivityTests/test-1
+ string target = 3;
+
+ // Name of the verb executed by the operation.
+ string verb = 4;
+
+ // Human-readable status of the operation, if any.
+ string status_detail = 5;
+
+ // Specifies if cancellation was requested for the operation.
+ bool cancel_requested = 6;
+
+ // API version.
+ string api_version = 7;
+}
+
+// A Symptom instance.
+message Symptom {
+ // SymptomType represents the different types of Symptoms that a TPU can be
+ // at.
+ enum SymptomType {
+ // Unspecified symptom.
+ SYMPTOM_TYPE_UNSPECIFIED = 0;
+
+ // TPU VM memory is low.
+ LOW_MEMORY = 1;
+
+ // TPU runtime is out of memory.
+ OUT_OF_MEMORY = 2;
+
+ // TPU runtime execution has timed out.
+ EXECUTE_TIMED_OUT = 3;
+
+ // TPU runtime fails to construct a mesh that recognizes each TPU device's
+ // neighbors.
+ MESH_BUILD_FAIL = 4;
+
+ // TPU HBM is out of memory.
+ HBM_OUT_OF_MEMORY = 5;
+
+ // Abusive behaviors have been identified on the current project.
+ PROJECT_ABUSE = 6;
+ }
+
+ // Timestamp when the Symptom is created.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Type of the Symptom.
+ SymptomType symptom_type = 2;
+
+ // Detailed information of the current Symptom.
+ string details = 3;
+
+ // A string used to uniquely distinguish a worker within a TPU node.
+ string worker_id = 4;
+}
diff --git a/packages/google-cloud-tpu/protos/google/cloud/tpu/v2alpha1/cloud_tpu.proto b/packages/google-cloud-tpu/protos/google/cloud/tpu/v2alpha1/cloud_tpu.proto
new file mode 100644
index 00000000000..612e1c4f5dd
--- /dev/null
+++ b/packages/google-cloud-tpu/protos/google/cloud/tpu/v2alpha1/cloud_tpu.proto
@@ -0,0 +1,791 @@
+// 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.tpu.v2alpha1;
+
+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 go_package = "google.golang.org/genproto/googleapis/cloud/tpu/v2alpha1;tpu";
+option java_multiple_files = true;
+option java_outer_classname = "CloudTpuProto";
+option java_package = "com.google.cloud.tpu.v2alpha1";
+
+// Manages TPU nodes and other resources
+//
+// TPU API v2alpha1
+service Tpu {
+ option (google.api.default_host) = "tpu.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists nodes.
+ rpc ListNodes(ListNodesRequest) returns (ListNodesResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha1/{parent=projects/*/locations/*}/nodes"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the details of a node.
+ rpc GetNode(GetNodeRequest) returns (Node) {
+ option (google.api.http) = {
+ get: "/v2alpha1/{name=projects/*/locations/*/nodes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a node.
+ rpc CreateNode(CreateNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha1/{parent=projects/*/locations/*}/nodes"
+ body: "node"
+ };
+ option (google.api.method_signature) = "parent,node,node_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Deletes a node.
+ rpc DeleteNode(DeleteNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v2alpha1/{name=projects/*/locations/*/nodes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Stops a node. This operation is only available with single TPU nodes.
+ rpc StopNode(StopNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha1/{name=projects/*/locations/*/nodes/*}:stop"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Starts a node.
+ rpc StartNode(StartNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha1/{name=projects/*/locations/*/nodes/*}:start"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the configurations of a node.
+ rpc UpdateNode(UpdateNodeRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v2alpha1/{node.name=projects/*/locations/*/nodes/*}"
+ body: "node"
+ };
+ option (google.api.method_signature) = "node,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Node"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Generates the Cloud TPU service identity for the project.
+ rpc GenerateServiceIdentity(GenerateServiceIdentityRequest)
+ returns (GenerateServiceIdentityResponse) {
+ option (google.api.http) = {
+ post: "/v2alpha1/{parent=projects/*/locations/*}:generateServiceIdentity"
+ body: "*"
+ };
+ }
+
+ // Lists accelerator types supported by this API.
+ rpc ListAcceleratorTypes(ListAcceleratorTypesRequest)
+ returns (ListAcceleratorTypesResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha1/{parent=projects/*/locations/*}/acceleratorTypes"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets AcceleratorType.
+ rpc GetAcceleratorType(GetAcceleratorTypeRequest) returns (AcceleratorType) {
+ option (google.api.http) = {
+ get: "/v2alpha1/{name=projects/*/locations/*/acceleratorTypes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists runtime versions supported by this API.
+ rpc ListRuntimeVersions(ListRuntimeVersionsRequest)
+ returns (ListRuntimeVersionsResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha1/{parent=projects/*/locations/*}/runtimeVersions"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a runtime version.
+ rpc GetRuntimeVersion(GetRuntimeVersionRequest) returns (RuntimeVersion) {
+ option (google.api.http) = {
+ get: "/v2alpha1/{name=projects/*/locations/*/runtimeVersions/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Retrieves the guest attributes for the node.
+ rpc GetGuestAttributes(GetGuestAttributesRequest)
+ returns (GetGuestAttributesResponse) {
+ option (google.api.http) = {
+ post: "/v2alpha1/{name=projects/*/locations/*/nodes/*}:getGuestAttributes"
+ body: "*"
+ };
+ }
+}
+
+// A guest attributes.
+message GuestAttributes {
+ // The path to be queried. This can be the default namespace ('/') or a
+ // nested namespace ('/\/') or a specified key
+ // ('/\/\')
+ string query_path = 1;
+
+ // The value of the requested queried path.
+ GuestAttributesValue query_value = 2;
+}
+
+// Array of guest attribute namespace/key/value tuples.
+message GuestAttributesValue {
+ // The list of guest attributes entries.
+ repeated GuestAttributesEntry items = 1;
+}
+
+// A guest attributes namespace/key/value entry.
+message GuestAttributesEntry {
+ // Namespace for the guest attribute entry.
+ string namespace = 1;
+
+ // Key for the guest attribute entry.
+ string key = 2;
+
+ // Value for the guest attribute entry.
+ string value = 3;
+}
+
+// A node-attached disk resource.
+// Next ID: 8;
+message AttachedDisk {
+ // The different mode of the attached disk.
+ enum DiskMode {
+ // The disk mode is not known/set.
+ DISK_MODE_UNSPECIFIED = 0;
+
+ // Attaches the disk in read-write mode. Only one TPU node can attach a disk
+ // in read-write mode at a time.
+ READ_WRITE = 1;
+
+ // Attaches the disk in read-only mode. Multiple TPU nodes can attach
+ // a disk in read-only mode at a time.
+ READ_ONLY = 2;
+ }
+
+ // Specifies the full path to an existing disk.
+ // For example: "projects/my-project/zones/us-central1-c/disks/my-disk".
+ string source_disk = 3;
+
+ // The mode in which to attach this disk.
+ // If not specified, the default is READ_WRITE mode.
+ // Only applicable to data_disks.
+ DiskMode mode = 4;
+}
+
+// Sets the scheduling options for this node.
+message SchedulingConfig {
+ // Defines whether the node is preemptible.
+ bool preemptible = 1;
+
+ // Whether the node is created under a reservation.
+ bool reserved = 2;
+}
+
+// A network endpoint over which a TPU worker can be reached.
+message NetworkEndpoint {
+ // The internal IP address of this network endpoint.
+ string ip_address = 1;
+
+ // The port of this network endpoint.
+ int32 port = 2;
+
+ // The access config for the TPU worker.
+ AccessConfig access_config = 5;
+}
+
+// An access config attached to the TPU worker.
+message AccessConfig {
+ // Output only. An external IP address associated with the TPU worker.
+ string external_ip = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Network related configurations.
+message NetworkConfig {
+ // The name of the network for the TPU node. It must be a preexisting Google
+ // Compute Engine network. If none is provided, "default" will be used.
+ string network = 1;
+
+ // The name of the subnetwork for the TPU node. It must be a preexisting
+ // Google Compute Engine subnetwork. If none is provided, "default" will be
+ // used.
+ string subnetwork = 2;
+
+ // Indicates that external IP addresses would be associated with the TPU
+ // workers. If set to false, the specified subnetwork or network should have
+ // Private Google Access enabled.
+ bool enable_external_ips = 3;
+}
+
+// A service account.
+message ServiceAccount {
+ // Email address of the service account. If empty, default Compute service
+ // account will be used.
+ string email = 1;
+
+ // The list of scopes to be made available for this service account. If empty,
+ // access to all Cloud APIs will be allowed.
+ repeated string scope = 2;
+}
+
+// A TPU instance.
+message Node {
+ option (google.api.resource) = {
+ type: "tpu.googleapis.com/Node"
+ pattern: "projects/{project}/locations/{location}/nodes/{node}"
+ };
+
+ // Represents the different states of a TPU node during its lifecycle.
+ enum State {
+ // TPU node state is not known/set.
+ STATE_UNSPECIFIED = 0;
+
+ // TPU node is being created.
+ CREATING = 1;
+
+ // TPU node has been created.
+ READY = 2;
+
+ // TPU node is restarting.
+ RESTARTING = 3;
+
+ // TPU node is undergoing reimaging.
+ REIMAGING = 4;
+
+ // TPU node is being deleted.
+ DELETING = 5;
+
+ // TPU node is being repaired and may be unusable. Details can be
+ // found in the `help_description` field.
+ REPAIRING = 6;
+
+ // TPU node is stopped.
+ STOPPED = 8;
+
+ // TPU node is currently stopping.
+ STOPPING = 9;
+
+ // TPU node is currently starting.
+ STARTING = 10;
+
+ // TPU node has been preempted. Only applies to Preemptible TPU Nodes.
+ PREEMPTED = 11;
+
+ // TPU node has been terminated due to maintenance or has reached the end of
+ // its life cycle (for preemptible nodes).
+ TERMINATED = 12;
+
+ // TPU node is currently hiding.
+ HIDING = 13;
+
+ // TPU node has been hidden.
+ HIDDEN = 14;
+
+ // TPU node is currently unhiding.
+ UNHIDING = 15;
+ }
+
+ // Health defines the status of a TPU node as reported by
+ // Health Monitor.
+ enum Health {
+ // Health status is unknown: not initialized or failed to retrieve.
+ HEALTH_UNSPECIFIED = 0;
+
+ // The resource is healthy.
+ HEALTHY = 1;
+
+ // The resource is unresponsive.
+ TIMEOUT = 3;
+
+ // The in-guest ML stack is unhealthy.
+ UNHEALTHY_TENSORFLOW = 4;
+
+ // The node is under maintenance/priority boost caused rescheduling and
+ // will resume running once rescheduled.
+ UNHEALTHY_MAINTENANCE = 5;
+ }
+
+ // TPU API Version.
+ enum ApiVersion {
+ // API version is unknown.
+ API_VERSION_UNSPECIFIED = 0;
+
+ // TPU API V1Alpha1 version.
+ V1_ALPHA1 = 1;
+
+ // TPU API V1 version.
+ V1 = 2;
+
+ // TPU API V2Alpha1 version.
+ V2_ALPHA1 = 3;
+ }
+
+ // Output only. Immutable. The name of the TPU.
+ string name = 1 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // The user-supplied description of the TPU. Maximum of 512 characters.
+ string description = 3;
+
+ // Required. The type of hardware accelerators associated with this node.
+ string accelerator_type = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. The current state for the TPU Node.
+ State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. If this field is populated, it contains a description of why
+ // the TPU Node is unhealthy.
+ string health_description = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The runtime version running in the Node.
+ string runtime_version = 11 [(google.api.field_behavior) = REQUIRED];
+
+ // Network configurations for the TPU node.
+ NetworkConfig network_config = 36;
+
+ // The CIDR block that the TPU node will use when selecting an IP address.
+ // This CIDR block must be a /29 block; the Compute Engine networks API
+ // forbids a smaller block, and using a larger block would be wasteful (a
+ // node can only consume one IP address). Errors will occur if the CIDR block
+ // has already been used for a currently existing TPU node, the CIDR block
+ // conflicts with any subnetworks in the user's provided network, or the
+ // provided network is peered with another network that is using that CIDR
+ // block.
+ string cidr_block = 13;
+
+ // The Google Cloud Platform Service Account to be used by the TPU node VMs.
+ // If None is specified, the default compute service account will be used.
+ ServiceAccount service_account = 37;
+
+ // Output only. The time when the node was created.
+ google.protobuf.Timestamp create_time = 16
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The scheduling options for this node.
+ SchedulingConfig scheduling_config = 17;
+
+ // Output only. The network endpoints where TPU workers can be accessed and
+ // sent work. It is recommended that runtime clients of the node reach out
+ // to the 0th entry in this map first.
+ repeated NetworkEndpoint network_endpoints = 21
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The health status of the TPU node.
+ Health health = 22;
+
+ // Resource labels to represent user-provided metadata.
+ map labels = 24;
+
+ // Custom metadata to apply to the TPU Node.
+ // Can set startup-script and shutdown-script
+ map metadata = 34;
+
+ // Tags to apply to the TPU Node. Tags are used to identify valid sources or
+ // targets for network firewalls.
+ repeated string tags = 40;
+
+ // Output only. The unique identifier for the TPU Node.
+ int64 id = 33 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The additional data disks for the Node.
+ repeated AttachedDisk data_disks = 41;
+
+ // Output only. The API version that created this Node.
+ ApiVersion api_version = 38 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The Symptoms that have occurred to the TPU Node.
+ repeated Symptom symptoms = 39 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Shielded Instance options.
+ ShieldedInstanceConfig shielded_instance_config = 45;
+}
+
+// Request for [ListNodes][google.cloud.tpu.v2alpha1.Tpu.ListNodes].
+message ListNodesRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "tpu.googleapis.com/Node" }
+ ];
+
+ // The maximum number of items to return.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+}
+
+// Response for [ListNodes][google.cloud.tpu.v2alpha1.Tpu.ListNodes].
+message ListNodesResponse {
+ // The listed nodes.
+ repeated Node nodes = 1;
+
+ // The next page token or empty if none.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request for [GetNode][google.cloud.tpu.v2alpha1.Tpu.GetNode].
+message GetNodeRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "tpu.googleapis.com/Node" }
+ ];
+}
+
+// Request for [CreateNode][google.cloud.tpu.v2alpha1.Tpu.CreateNode].
+message CreateNodeRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The unqualified resource name.
+ string node_id = 2;
+
+ // Required. The node.
+ Node node = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [DeleteNode][google.cloud.tpu.v2alpha1.Tpu.DeleteNode].
+message DeleteNodeRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "tpu.googleapis.com/Node" }
+ ];
+}
+
+// Request for [StopNode][google.cloud.tpu.v2alpha1.Tpu.StopNode].
+message StopNodeRequest {
+ // The resource name.
+ string name = 1;
+}
+
+// Request for [StartNode][google.cloud.tpu.v2alpha1.Tpu.StartNode].
+message StartNodeRequest {
+ // The resource name.
+ string name = 1;
+}
+
+// Request for [UpdateNode][google.cloud.tpu.v2alpha1.Tpu.UpdateNode].
+message UpdateNodeRequest {
+ // Required. Mask of fields from [Node][Tpu.Node] to update.
+ // Supported fields: None.
+ google.protobuf.FieldMask update_mask = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The node. Only fields specified in update_mask are updated.
+ Node node = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The per-product per-project service identity for Cloud TPU service.
+message ServiceIdentity {
+ // The email address of the service identity.
+ string email = 1;
+}
+
+// Request for
+// [GenerateServiceIdentity][google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity].
+message GenerateServiceIdentityRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+}
+
+// Response for
+// [GenerateServiceIdentity][google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity].
+message GenerateServiceIdentityResponse {
+ // ServiceIdentity that was created or retrieved.
+ ServiceIdentity identity = 1;
+}
+
+// A accelerator type that a Node can be configured with.
+message AcceleratorType {
+ option (google.api.resource) = {
+ type: "tpu.googleapis.com/AcceleratorType"
+ pattern: "projects/{project}/locations/{location}/acceleratorTypes/{accelerator_type}"
+ };
+
+ // The resource name.
+ string name = 1;
+
+ // the accelerator type.
+ string type = 2;
+}
+
+// Request for
+// [GetAcceleratorType][google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorType].
+message GetAcceleratorTypeRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/AcceleratorType"
+ }
+ ];
+}
+
+// Request for
+// [ListAcceleratorTypes][google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes].
+message ListAcceleratorTypesRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/AcceleratorType"
+ }
+ ];
+
+ // The maximum number of items to return.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+
+ // List filter.
+ string filter = 5;
+
+ // Sort results.
+ string order_by = 6;
+}
+
+// Response for
+// [ListAcceleratorTypes][google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes].
+message ListAcceleratorTypesResponse {
+ // The listed nodes.
+ repeated AcceleratorType accelerator_types = 1;
+
+ // The next page token or empty if none.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Note: the following OperationMetadata message was added manually.
+// This is caused by a conflict with some other message and will
+// be resolved separately. Please make sure to add this message back
+// if it's removed during public proto regeneration.
+
+// Metadata describing an [Operation][google.longrunning.Operation]
+message OperationMetadata {
+ // The time the operation was created.
+ google.protobuf.Timestamp create_time = 1;
+
+ // The time the operation finished running.
+ google.protobuf.Timestamp end_time = 2;
+
+ // Target of the operation - for example
+ // projects/project-1/connectivityTests/test-1
+ string target = 3;
+
+ // Name of the verb executed by the operation.
+ string verb = 4;
+
+ // Human-readable status of the operation, if any.
+ string status_detail = 5;
+
+ // Specifies if cancellation was requested for the operation.
+ bool cancel_requested = 6;
+
+ // API version.
+ string api_version = 7;
+}
+
+// A runtime version that a Node can be configured with.
+message RuntimeVersion {
+ option (google.api.resource) = {
+ type: "tpu.googleapis.com/RuntimeVersion"
+ pattern: "projects/{project}/locations/{location}/runtimeVersions/{runtime_version}"
+ };
+
+ // The resource name.
+ string name = 1;
+
+ // The runtime version.
+ string version = 2;
+}
+
+// Request for
+// [GetRuntimeVersion][google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersion].
+message GetRuntimeVersionRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/RuntimeVersion"
+ }
+ ];
+}
+
+// Request for
+// [ListRuntimeVersions][google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions].
+message ListRuntimeVersionsRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "tpu.googleapis.com/RuntimeVersion"
+ }
+ ];
+
+ // The maximum number of items to return.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+
+ // List filter.
+ string filter = 5;
+
+ // Sort results.
+ string order_by = 6;
+}
+
+// Response for
+// [ListRuntimeVersions][google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions].
+message ListRuntimeVersionsResponse {
+ // The listed nodes.
+ repeated RuntimeVersion runtime_versions = 1;
+
+ // The next page token or empty if none.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// A Symptom instance.
+message Symptom {
+ // SymptomType represents the different types of Symptoms that a TPU can be
+ // at.
+ enum SymptomType {
+ // Unspecified symptom.
+ SYMPTOM_TYPE_UNSPECIFIED = 0;
+
+ // TPU VM memory is low.
+ LOW_MEMORY = 1;
+
+ // TPU runtime is out of memory.
+ OUT_OF_MEMORY = 2;
+
+ // TPU runtime execution has timed out.
+ EXECUTE_TIMED_OUT = 3;
+
+ // TPU runtime fails to construct a mesh that recognizes each TPU device's
+ // neighbors.
+ MESH_BUILD_FAIL = 4;
+
+ // TPU HBM is out of memory.
+ HBM_OUT_OF_MEMORY = 5;
+
+ // Abusive behaviors have been identified on the current project.
+ PROJECT_ABUSE = 6;
+ }
+
+ // Timestamp when the Symptom is created.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Type of the Symptom.
+ SymptomType symptom_type = 2;
+
+ // Detailed information of the current Symptom.
+ string details = 3;
+
+ // A string used to uniquely distinguish a worker within a TPU node.
+ string worker_id = 4;
+}
+
+// Request for
+// [GetGuestAttributes][google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes].
+message GetGuestAttributesRequest {
+ // Required. The resource name.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "tpu.googleapis.com/Node" }
+ ];
+
+ // The guest attributes path to be queried.
+ string query_path = 2;
+
+ // The 0-based worker ID. If it is empty, all workers' GuestAttributes will be
+ // returned.
+ repeated string worker_ids = 3;
+}
+
+// Response for
+// [GetGuestAttributes][google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes].
+message GetGuestAttributesResponse {
+ // The guest attributes for the TPU workers.
+ repeated GuestAttributes guest_attributes = 1;
+}
+
+// A set of Shielded Instance options.
+message ShieldedInstanceConfig {
+ // Defines whether the instance has Secure Boot enabled.
+ bool enable_secure_boot = 1;
+}
\ No newline at end of file
diff --git a/packages/google-cloud-tpu/protos/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts
new file mode 100644
index 00000000000..c84e1e38650
--- /dev/null
+++ b/packages/google-cloud-tpu/protos/protos.d.ts
@@ -0,0 +1,12271 @@
+// 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 tpu. */
+ namespace tpu {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Represents a Tpu */
+ class Tpu extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Tpu 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 Tpu 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): Tpu;
+
+ /**
+ * Calls ListNodes.
+ * @param request ListNodesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListNodesResponse
+ */
+ public listNodes(request: google.cloud.tpu.v1.IListNodesRequest, callback: google.cloud.tpu.v1.Tpu.ListNodesCallback): void;
+
+ /**
+ * Calls ListNodes.
+ * @param request ListNodesRequest message or plain object
+ * @returns Promise
+ */
+ public listNodes(request: google.cloud.tpu.v1.IListNodesRequest): Promise;
+
+ /**
+ * Calls GetNode.
+ * @param request GetNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Node
+ */
+ public getNode(request: google.cloud.tpu.v1.IGetNodeRequest, callback: google.cloud.tpu.v1.Tpu.GetNodeCallback): void;
+
+ /**
+ * Calls GetNode.
+ * @param request GetNodeRequest message or plain object
+ * @returns Promise
+ */
+ public getNode(request: google.cloud.tpu.v1.IGetNodeRequest): Promise;
+
+ /**
+ * Calls CreateNode.
+ * @param request CreateNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createNode(request: google.cloud.tpu.v1.ICreateNodeRequest, callback: google.cloud.tpu.v1.Tpu.CreateNodeCallback): void;
+
+ /**
+ * Calls CreateNode.
+ * @param request CreateNodeRequest message or plain object
+ * @returns Promise
+ */
+ public createNode(request: google.cloud.tpu.v1.ICreateNodeRequest): Promise;
+
+ /**
+ * Calls DeleteNode.
+ * @param request DeleteNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteNode(request: google.cloud.tpu.v1.IDeleteNodeRequest, callback: google.cloud.tpu.v1.Tpu.DeleteNodeCallback): void;
+
+ /**
+ * Calls DeleteNode.
+ * @param request DeleteNodeRequest message or plain object
+ * @returns Promise
+ */
+ public deleteNode(request: google.cloud.tpu.v1.IDeleteNodeRequest): Promise;
+
+ /**
+ * Calls ReimageNode.
+ * @param request ReimageNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public reimageNode(request: google.cloud.tpu.v1.IReimageNodeRequest, callback: google.cloud.tpu.v1.Tpu.ReimageNodeCallback): void;
+
+ /**
+ * Calls ReimageNode.
+ * @param request ReimageNodeRequest message or plain object
+ * @returns Promise
+ */
+ public reimageNode(request: google.cloud.tpu.v1.IReimageNodeRequest): Promise;
+
+ /**
+ * Calls StopNode.
+ * @param request StopNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public stopNode(request: google.cloud.tpu.v1.IStopNodeRequest, callback: google.cloud.tpu.v1.Tpu.StopNodeCallback): void;
+
+ /**
+ * Calls StopNode.
+ * @param request StopNodeRequest message or plain object
+ * @returns Promise
+ */
+ public stopNode(request: google.cloud.tpu.v1.IStopNodeRequest): Promise;
+
+ /**
+ * Calls StartNode.
+ * @param request StartNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public startNode(request: google.cloud.tpu.v1.IStartNodeRequest, callback: google.cloud.tpu.v1.Tpu.StartNodeCallback): void;
+
+ /**
+ * Calls StartNode.
+ * @param request StartNodeRequest message or plain object
+ * @returns Promise
+ */
+ public startNode(request: google.cloud.tpu.v1.IStartNodeRequest): Promise;
+
+ /**
+ * Calls ListTensorFlowVersions.
+ * @param request ListTensorFlowVersionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTensorFlowVersionsResponse
+ */
+ public listTensorFlowVersions(request: google.cloud.tpu.v1.IListTensorFlowVersionsRequest, callback: google.cloud.tpu.v1.Tpu.ListTensorFlowVersionsCallback): void;
+
+ /**
+ * Calls ListTensorFlowVersions.
+ * @param request ListTensorFlowVersionsRequest message or plain object
+ * @returns Promise
+ */
+ public listTensorFlowVersions(request: google.cloud.tpu.v1.IListTensorFlowVersionsRequest): Promise;
+
+ /**
+ * Calls GetTensorFlowVersion.
+ * @param request GetTensorFlowVersionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and TensorFlowVersion
+ */
+ public getTensorFlowVersion(request: google.cloud.tpu.v1.IGetTensorFlowVersionRequest, callback: google.cloud.tpu.v1.Tpu.GetTensorFlowVersionCallback): void;
+
+ /**
+ * Calls GetTensorFlowVersion.
+ * @param request GetTensorFlowVersionRequest message or plain object
+ * @returns Promise
+ */
+ public getTensorFlowVersion(request: google.cloud.tpu.v1.IGetTensorFlowVersionRequest): Promise;
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @param request ListAcceleratorTypesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListAcceleratorTypesResponse
+ */
+ public listAcceleratorTypes(request: google.cloud.tpu.v1.IListAcceleratorTypesRequest, callback: google.cloud.tpu.v1.Tpu.ListAcceleratorTypesCallback): void;
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @param request ListAcceleratorTypesRequest message or plain object
+ * @returns Promise
+ */
+ public listAcceleratorTypes(request: google.cloud.tpu.v1.IListAcceleratorTypesRequest): Promise;
+
+ /**
+ * Calls GetAcceleratorType.
+ * @param request GetAcceleratorTypeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AcceleratorType
+ */
+ public getAcceleratorType(request: google.cloud.tpu.v1.IGetAcceleratorTypeRequest, callback: google.cloud.tpu.v1.Tpu.GetAcceleratorTypeCallback): void;
+
+ /**
+ * Calls GetAcceleratorType.
+ * @param request GetAcceleratorTypeRequest message or plain object
+ * @returns Promise
+ */
+ public getAcceleratorType(request: google.cloud.tpu.v1.IGetAcceleratorTypeRequest): Promise;
+ }
+
+ namespace Tpu {
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|listNodes}.
+ * @param error Error, if any
+ * @param [response] ListNodesResponse
+ */
+ type ListNodesCallback = (error: (Error|null), response?: google.cloud.tpu.v1.ListNodesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|getNode}.
+ * @param error Error, if any
+ * @param [response] Node
+ */
+ type GetNodeCallback = (error: (Error|null), response?: google.cloud.tpu.v1.Node) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|createNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|deleteNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|reimageNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ReimageNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|stopNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type StopNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|startNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type StartNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|listTensorFlowVersions}.
+ * @param error Error, if any
+ * @param [response] ListTensorFlowVersionsResponse
+ */
+ type ListTensorFlowVersionsCallback = (error: (Error|null), response?: google.cloud.tpu.v1.ListTensorFlowVersionsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|getTensorFlowVersion}.
+ * @param error Error, if any
+ * @param [response] TensorFlowVersion
+ */
+ type GetTensorFlowVersionCallback = (error: (Error|null), response?: google.cloud.tpu.v1.TensorFlowVersion) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|listAcceleratorTypes}.
+ * @param error Error, if any
+ * @param [response] ListAcceleratorTypesResponse
+ */
+ type ListAcceleratorTypesCallback = (error: (Error|null), response?: google.cloud.tpu.v1.ListAcceleratorTypesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|getAcceleratorType}.
+ * @param error Error, if any
+ * @param [response] AcceleratorType
+ */
+ type GetAcceleratorTypeCallback = (error: (Error|null), response?: google.cloud.tpu.v1.AcceleratorType) => void;
+ }
+
+ /** Properties of a SchedulingConfig. */
+ interface ISchedulingConfig {
+
+ /** SchedulingConfig preemptible */
+ preemptible?: (boolean|null);
+
+ /** SchedulingConfig reserved */
+ reserved?: (boolean|null);
+ }
+
+ /** Represents a SchedulingConfig. */
+ class SchedulingConfig implements ISchedulingConfig {
+
+ /**
+ * Constructs a new SchedulingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.ISchedulingConfig);
+
+ /** SchedulingConfig preemptible. */
+ public preemptible: boolean;
+
+ /** SchedulingConfig reserved. */
+ public reserved: boolean;
+
+ /**
+ * Creates a new SchedulingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SchedulingConfig instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.ISchedulingConfig): google.cloud.tpu.v1.SchedulingConfig;
+
+ /**
+ * Encodes the specified SchedulingConfig message. Does not implicitly {@link google.cloud.tpu.v1.SchedulingConfig.verify|verify} messages.
+ * @param message SchedulingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.ISchedulingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SchedulingConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.SchedulingConfig.verify|verify} messages.
+ * @param message SchedulingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.ISchedulingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SchedulingConfig
+ * @throws {Error} If the payload is not 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.tpu.v1.SchedulingConfig;
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SchedulingConfig
+ * @throws {Error} If the payload 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.tpu.v1.SchedulingConfig;
+
+ /**
+ * Verifies a SchedulingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SchedulingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SchedulingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.SchedulingConfig;
+
+ /**
+ * Creates a plain object from a SchedulingConfig message. Also converts values to other types if specified.
+ * @param message SchedulingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.SchedulingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SchedulingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SchedulingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NetworkEndpoint. */
+ interface INetworkEndpoint {
+
+ /** NetworkEndpoint ipAddress */
+ ipAddress?: (string|null);
+
+ /** NetworkEndpoint port */
+ port?: (number|null);
+ }
+
+ /** Represents a NetworkEndpoint. */
+ class NetworkEndpoint implements INetworkEndpoint {
+
+ /**
+ * Constructs a new NetworkEndpoint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.INetworkEndpoint);
+
+ /** NetworkEndpoint ipAddress. */
+ public ipAddress: string;
+
+ /** NetworkEndpoint port. */
+ public port: number;
+
+ /**
+ * Creates a new NetworkEndpoint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NetworkEndpoint instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.INetworkEndpoint): google.cloud.tpu.v1.NetworkEndpoint;
+
+ /**
+ * Encodes the specified NetworkEndpoint message. Does not implicitly {@link google.cloud.tpu.v1.NetworkEndpoint.verify|verify} messages.
+ * @param message NetworkEndpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.INetworkEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NetworkEndpoint message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.NetworkEndpoint.verify|verify} messages.
+ * @param message NetworkEndpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.INetworkEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NetworkEndpoint
+ * @throws {Error} If the payload is not 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.tpu.v1.NetworkEndpoint;
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NetworkEndpoint
+ * @throws {Error} If the payload 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.tpu.v1.NetworkEndpoint;
+
+ /**
+ * Verifies a NetworkEndpoint message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NetworkEndpoint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NetworkEndpoint
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.NetworkEndpoint;
+
+ /**
+ * Creates a plain object from a NetworkEndpoint message. Also converts values to other types if specified.
+ * @param message NetworkEndpoint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.NetworkEndpoint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NetworkEndpoint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NetworkEndpoint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Node. */
+ interface INode {
+
+ /** Node name */
+ name?: (string|null);
+
+ /** Node description */
+ description?: (string|null);
+
+ /** Node acceleratorType */
+ acceleratorType?: (string|null);
+
+ /** Node ipAddress */
+ ipAddress?: (string|null);
+
+ /** Node port */
+ port?: (string|null);
+
+ /** Node state */
+ state?: (google.cloud.tpu.v1.Node.State|keyof typeof google.cloud.tpu.v1.Node.State|null);
+
+ /** Node healthDescription */
+ healthDescription?: (string|null);
+
+ /** Node tensorflowVersion */
+ tensorflowVersion?: (string|null);
+
+ /** Node network */
+ network?: (string|null);
+
+ /** Node cidrBlock */
+ cidrBlock?: (string|null);
+
+ /** Node serviceAccount */
+ serviceAccount?: (string|null);
+
+ /** Node createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Node schedulingConfig */
+ schedulingConfig?: (google.cloud.tpu.v1.ISchedulingConfig|null);
+
+ /** Node networkEndpoints */
+ networkEndpoints?: (google.cloud.tpu.v1.INetworkEndpoint[]|null);
+
+ /** Node health */
+ health?: (google.cloud.tpu.v1.Node.Health|keyof typeof google.cloud.tpu.v1.Node.Health|null);
+
+ /** Node labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Node useServiceNetworking */
+ useServiceNetworking?: (boolean|null);
+
+ /** Node apiVersion */
+ apiVersion?: (google.cloud.tpu.v1.Node.ApiVersion|keyof typeof google.cloud.tpu.v1.Node.ApiVersion|null);
+
+ /** Node symptoms */
+ symptoms?: (google.cloud.tpu.v1.ISymptom[]|null);
+ }
+
+ /** Represents a Node. */
+ class Node implements INode {
+
+ /**
+ * Constructs a new Node.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.INode);
+
+ /** Node name. */
+ public name: string;
+
+ /** Node description. */
+ public description: string;
+
+ /** Node acceleratorType. */
+ public acceleratorType: string;
+
+ /** Node ipAddress. */
+ public ipAddress: string;
+
+ /** Node port. */
+ public port: string;
+
+ /** Node state. */
+ public state: (google.cloud.tpu.v1.Node.State|keyof typeof google.cloud.tpu.v1.Node.State);
+
+ /** Node healthDescription. */
+ public healthDescription: string;
+
+ /** Node tensorflowVersion. */
+ public tensorflowVersion: string;
+
+ /** Node network. */
+ public network: string;
+
+ /** Node cidrBlock. */
+ public cidrBlock: string;
+
+ /** Node serviceAccount. */
+ public serviceAccount: string;
+
+ /** Node createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Node schedulingConfig. */
+ public schedulingConfig?: (google.cloud.tpu.v1.ISchedulingConfig|null);
+
+ /** Node networkEndpoints. */
+ public networkEndpoints: google.cloud.tpu.v1.INetworkEndpoint[];
+
+ /** Node health. */
+ public health: (google.cloud.tpu.v1.Node.Health|keyof typeof google.cloud.tpu.v1.Node.Health);
+
+ /** Node labels. */
+ public labels: { [k: string]: string };
+
+ /** Node useServiceNetworking. */
+ public useServiceNetworking: boolean;
+
+ /** Node apiVersion. */
+ public apiVersion: (google.cloud.tpu.v1.Node.ApiVersion|keyof typeof google.cloud.tpu.v1.Node.ApiVersion);
+
+ /** Node symptoms. */
+ public symptoms: google.cloud.tpu.v1.ISymptom[];
+
+ /**
+ * Creates a new Node instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Node instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.INode): google.cloud.tpu.v1.Node;
+
+ /**
+ * Encodes the specified Node message. Does not implicitly {@link google.cloud.tpu.v1.Node.verify|verify} messages.
+ * @param message Node message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.INode, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Node message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.Node.verify|verify} messages.
+ * @param message Node message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.INode, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Node message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Node
+ * @throws {Error} If the payload is not 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.tpu.v1.Node;
+
+ /**
+ * Decodes a Node message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Node
+ * @throws {Error} If the payload 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.tpu.v1.Node;
+
+ /**
+ * Verifies a Node message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Node message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Node
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.Node;
+
+ /**
+ * Creates a plain object from a Node message. Also converts values to other types if specified.
+ * @param message Node
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.Node, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Node to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Node
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Node {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ CREATING = 1,
+ READY = 2,
+ RESTARTING = 3,
+ REIMAGING = 4,
+ DELETING = 5,
+ REPAIRING = 6,
+ STOPPED = 8,
+ STOPPING = 9,
+ STARTING = 10,
+ PREEMPTED = 11,
+ TERMINATED = 12,
+ HIDING = 13,
+ HIDDEN = 14,
+ UNHIDING = 15
+ }
+
+ /** Health enum. */
+ enum Health {
+ HEALTH_UNSPECIFIED = 0,
+ HEALTHY = 1,
+ DEPRECATED_UNHEALTHY = 2,
+ TIMEOUT = 3,
+ UNHEALTHY_TENSORFLOW = 4,
+ UNHEALTHY_MAINTENANCE = 5
+ }
+
+ /** ApiVersion enum. */
+ enum ApiVersion {
+ API_VERSION_UNSPECIFIED = 0,
+ V1_ALPHA1 = 1,
+ V1 = 2,
+ V2_ALPHA1 = 3
+ }
+ }
+
+ /** Properties of a ListNodesRequest. */
+ interface IListNodesRequest {
+
+ /** ListNodesRequest parent */
+ parent?: (string|null);
+
+ /** ListNodesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListNodesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListNodesRequest. */
+ class ListNodesRequest implements IListNodesRequest {
+
+ /**
+ * Constructs a new ListNodesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IListNodesRequest);
+
+ /** ListNodesRequest parent. */
+ public parent: string;
+
+ /** ListNodesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListNodesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListNodesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNodesRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IListNodesRequest): google.cloud.tpu.v1.ListNodesRequest;
+
+ /**
+ * Encodes the specified ListNodesRequest message. Does not implicitly {@link google.cloud.tpu.v1.ListNodesRequest.verify|verify} messages.
+ * @param message ListNodesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IListNodesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNodesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListNodesRequest.verify|verify} messages.
+ * @param message ListNodesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IListNodesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNodesRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.ListNodesRequest;
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNodesRequest
+ * @throws {Error} If the payload 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.tpu.v1.ListNodesRequest;
+
+ /**
+ * Verifies a ListNodesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNodesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNodesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.ListNodesRequest;
+
+ /**
+ * Creates a plain object from a ListNodesRequest message. Also converts values to other types if specified.
+ * @param message ListNodesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.ListNodesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNodesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNodesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNodesResponse. */
+ interface IListNodesResponse {
+
+ /** ListNodesResponse nodes */
+ nodes?: (google.cloud.tpu.v1.INode[]|null);
+
+ /** ListNodesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListNodesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListNodesResponse. */
+ class ListNodesResponse implements IListNodesResponse {
+
+ /**
+ * Constructs a new ListNodesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IListNodesResponse);
+
+ /** ListNodesResponse nodes. */
+ public nodes: google.cloud.tpu.v1.INode[];
+
+ /** ListNodesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListNodesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListNodesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNodesResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IListNodesResponse): google.cloud.tpu.v1.ListNodesResponse;
+
+ /**
+ * Encodes the specified ListNodesResponse message. Does not implicitly {@link google.cloud.tpu.v1.ListNodesResponse.verify|verify} messages.
+ * @param message ListNodesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IListNodesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNodesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListNodesResponse.verify|verify} messages.
+ * @param message ListNodesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IListNodesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNodesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNodesResponse
+ * @throws {Error} If the payload is not 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.tpu.v1.ListNodesResponse;
+
+ /**
+ * Decodes a ListNodesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNodesResponse
+ * @throws {Error} If the payload 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.tpu.v1.ListNodesResponse;
+
+ /**
+ * Verifies a ListNodesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNodesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNodesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.ListNodesResponse;
+
+ /**
+ * Creates a plain object from a ListNodesResponse message. Also converts values to other types if specified.
+ * @param message ListNodesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.ListNodesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNodesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNodesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNodeRequest. */
+ interface IGetNodeRequest {
+
+ /** GetNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetNodeRequest. */
+ class GetNodeRequest implements IGetNodeRequest {
+
+ /**
+ * Constructs a new GetNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IGetNodeRequest);
+
+ /** GetNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IGetNodeRequest): google.cloud.tpu.v1.GetNodeRequest;
+
+ /**
+ * Encodes the specified GetNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.GetNodeRequest.verify|verify} messages.
+ * @param message GetNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IGetNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.GetNodeRequest.verify|verify} messages.
+ * @param message GetNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IGetNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.GetNodeRequest;
+
+ /**
+ * Decodes a GetNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNodeRequest
+ * @throws {Error} If the payload 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.tpu.v1.GetNodeRequest;
+
+ /**
+ * Verifies a GetNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.GetNodeRequest;
+
+ /**
+ * Creates a plain object from a GetNodeRequest message. Also converts values to other types if specified.
+ * @param message GetNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.GetNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateNodeRequest. */
+ interface ICreateNodeRequest {
+
+ /** CreateNodeRequest parent */
+ parent?: (string|null);
+
+ /** CreateNodeRequest nodeId */
+ nodeId?: (string|null);
+
+ /** CreateNodeRequest node */
+ node?: (google.cloud.tpu.v1.INode|null);
+ }
+
+ /** Represents a CreateNodeRequest. */
+ class CreateNodeRequest implements ICreateNodeRequest {
+
+ /**
+ * Constructs a new CreateNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.ICreateNodeRequest);
+
+ /** CreateNodeRequest parent. */
+ public parent: string;
+
+ /** CreateNodeRequest nodeId. */
+ public nodeId: string;
+
+ /** CreateNodeRequest node. */
+ public node?: (google.cloud.tpu.v1.INode|null);
+
+ /**
+ * Creates a new CreateNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.ICreateNodeRequest): google.cloud.tpu.v1.CreateNodeRequest;
+
+ /**
+ * Encodes the specified CreateNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.CreateNodeRequest.verify|verify} messages.
+ * @param message CreateNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.ICreateNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.CreateNodeRequest.verify|verify} messages.
+ * @param message CreateNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.ICreateNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.CreateNodeRequest;
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateNodeRequest
+ * @throws {Error} If the payload 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.tpu.v1.CreateNodeRequest;
+
+ /**
+ * Verifies a CreateNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.CreateNodeRequest;
+
+ /**
+ * Creates a plain object from a CreateNodeRequest message. Also converts values to other types if specified.
+ * @param message CreateNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.CreateNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteNodeRequest. */
+ interface IDeleteNodeRequest {
+
+ /** DeleteNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteNodeRequest. */
+ class DeleteNodeRequest implements IDeleteNodeRequest {
+
+ /**
+ * Constructs a new DeleteNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IDeleteNodeRequest);
+
+ /** DeleteNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IDeleteNodeRequest): google.cloud.tpu.v1.DeleteNodeRequest;
+
+ /**
+ * Encodes the specified DeleteNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.DeleteNodeRequest.verify|verify} messages.
+ * @param message DeleteNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IDeleteNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.DeleteNodeRequest.verify|verify} messages.
+ * @param message DeleteNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IDeleteNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.DeleteNodeRequest;
+
+ /**
+ * Decodes a DeleteNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteNodeRequest
+ * @throws {Error} If the payload 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.tpu.v1.DeleteNodeRequest;
+
+ /**
+ * Verifies a DeleteNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.DeleteNodeRequest;
+
+ /**
+ * Creates a plain object from a DeleteNodeRequest message. Also converts values to other types if specified.
+ * @param message DeleteNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.DeleteNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReimageNodeRequest. */
+ interface IReimageNodeRequest {
+
+ /** ReimageNodeRequest name */
+ name?: (string|null);
+
+ /** ReimageNodeRequest tensorflowVersion */
+ tensorflowVersion?: (string|null);
+ }
+
+ /** Represents a ReimageNodeRequest. */
+ class ReimageNodeRequest implements IReimageNodeRequest {
+
+ /**
+ * Constructs a new ReimageNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IReimageNodeRequest);
+
+ /** ReimageNodeRequest name. */
+ public name: string;
+
+ /** ReimageNodeRequest tensorflowVersion. */
+ public tensorflowVersion: string;
+
+ /**
+ * Creates a new ReimageNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReimageNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IReimageNodeRequest): google.cloud.tpu.v1.ReimageNodeRequest;
+
+ /**
+ * Encodes the specified ReimageNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.ReimageNodeRequest.verify|verify} messages.
+ * @param message ReimageNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IReimageNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReimageNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ReimageNodeRequest.verify|verify} messages.
+ * @param message ReimageNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IReimageNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReimageNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReimageNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.ReimageNodeRequest;
+
+ /**
+ * Decodes a ReimageNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReimageNodeRequest
+ * @throws {Error} If the payload 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.tpu.v1.ReimageNodeRequest;
+
+ /**
+ * Verifies a ReimageNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReimageNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReimageNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.ReimageNodeRequest;
+
+ /**
+ * Creates a plain object from a ReimageNodeRequest message. Also converts values to other types if specified.
+ * @param message ReimageNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.ReimageNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReimageNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReimageNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StopNodeRequest. */
+ interface IStopNodeRequest {
+
+ /** StopNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a StopNodeRequest. */
+ class StopNodeRequest implements IStopNodeRequest {
+
+ /**
+ * Constructs a new StopNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IStopNodeRequest);
+
+ /** StopNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new StopNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StopNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IStopNodeRequest): google.cloud.tpu.v1.StopNodeRequest;
+
+ /**
+ * Encodes the specified StopNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.StopNodeRequest.verify|verify} messages.
+ * @param message StopNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IStopNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StopNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.StopNodeRequest.verify|verify} messages.
+ * @param message StopNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IStopNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StopNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StopNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.StopNodeRequest;
+
+ /**
+ * Decodes a StopNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StopNodeRequest
+ * @throws {Error} If the payload 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.tpu.v1.StopNodeRequest;
+
+ /**
+ * Verifies a StopNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StopNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StopNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.StopNodeRequest;
+
+ /**
+ * Creates a plain object from a StopNodeRequest message. Also converts values to other types if specified.
+ * @param message StopNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.StopNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StopNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StopNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StartNodeRequest. */
+ interface IStartNodeRequest {
+
+ /** StartNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a StartNodeRequest. */
+ class StartNodeRequest implements IStartNodeRequest {
+
+ /**
+ * Constructs a new StartNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IStartNodeRequest);
+
+ /** StartNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new StartNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StartNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IStartNodeRequest): google.cloud.tpu.v1.StartNodeRequest;
+
+ /**
+ * Encodes the specified StartNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.StartNodeRequest.verify|verify} messages.
+ * @param message StartNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IStartNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StartNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.StartNodeRequest.verify|verify} messages.
+ * @param message StartNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IStartNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StartNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StartNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.StartNodeRequest;
+
+ /**
+ * Decodes a StartNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StartNodeRequest
+ * @throws {Error} If the payload 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.tpu.v1.StartNodeRequest;
+
+ /**
+ * Verifies a StartNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StartNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StartNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.StartNodeRequest;
+
+ /**
+ * Creates a plain object from a StartNodeRequest message. Also converts values to other types if specified.
+ * @param message StartNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.StartNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StartNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StartNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TensorFlowVersion. */
+ interface ITensorFlowVersion {
+
+ /** TensorFlowVersion name */
+ name?: (string|null);
+
+ /** TensorFlowVersion version */
+ version?: (string|null);
+ }
+
+ /** Represents a TensorFlowVersion. */
+ class TensorFlowVersion implements ITensorFlowVersion {
+
+ /**
+ * Constructs a new TensorFlowVersion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.ITensorFlowVersion);
+
+ /** TensorFlowVersion name. */
+ public name: string;
+
+ /** TensorFlowVersion version. */
+ public version: string;
+
+ /**
+ * Creates a new TensorFlowVersion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TensorFlowVersion instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.ITensorFlowVersion): google.cloud.tpu.v1.TensorFlowVersion;
+
+ /**
+ * Encodes the specified TensorFlowVersion message. Does not implicitly {@link google.cloud.tpu.v1.TensorFlowVersion.verify|verify} messages.
+ * @param message TensorFlowVersion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.ITensorFlowVersion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TensorFlowVersion message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.TensorFlowVersion.verify|verify} messages.
+ * @param message TensorFlowVersion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.ITensorFlowVersion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TensorFlowVersion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TensorFlowVersion
+ * @throws {Error} If the payload is not 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.tpu.v1.TensorFlowVersion;
+
+ /**
+ * Decodes a TensorFlowVersion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TensorFlowVersion
+ * @throws {Error} If the payload 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.tpu.v1.TensorFlowVersion;
+
+ /**
+ * Verifies a TensorFlowVersion message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TensorFlowVersion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TensorFlowVersion
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.TensorFlowVersion;
+
+ /**
+ * Creates a plain object from a TensorFlowVersion message. Also converts values to other types if specified.
+ * @param message TensorFlowVersion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.TensorFlowVersion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TensorFlowVersion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TensorFlowVersion
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetTensorFlowVersionRequest. */
+ interface IGetTensorFlowVersionRequest {
+
+ /** GetTensorFlowVersionRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetTensorFlowVersionRequest. */
+ class GetTensorFlowVersionRequest implements IGetTensorFlowVersionRequest {
+
+ /**
+ * Constructs a new GetTensorFlowVersionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IGetTensorFlowVersionRequest);
+
+ /** GetTensorFlowVersionRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetTensorFlowVersionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetTensorFlowVersionRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IGetTensorFlowVersionRequest): google.cloud.tpu.v1.GetTensorFlowVersionRequest;
+
+ /**
+ * Encodes the specified GetTensorFlowVersionRequest message. Does not implicitly {@link google.cloud.tpu.v1.GetTensorFlowVersionRequest.verify|verify} messages.
+ * @param message GetTensorFlowVersionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IGetTensorFlowVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetTensorFlowVersionRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.GetTensorFlowVersionRequest.verify|verify} messages.
+ * @param message GetTensorFlowVersionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IGetTensorFlowVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetTensorFlowVersionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetTensorFlowVersionRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.GetTensorFlowVersionRequest;
+
+ /**
+ * Decodes a GetTensorFlowVersionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetTensorFlowVersionRequest
+ * @throws {Error} If the payload 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.tpu.v1.GetTensorFlowVersionRequest;
+
+ /**
+ * Verifies a GetTensorFlowVersionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetTensorFlowVersionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetTensorFlowVersionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.GetTensorFlowVersionRequest;
+
+ /**
+ * Creates a plain object from a GetTensorFlowVersionRequest message. Also converts values to other types if specified.
+ * @param message GetTensorFlowVersionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.GetTensorFlowVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetTensorFlowVersionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetTensorFlowVersionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTensorFlowVersionsRequest. */
+ interface IListTensorFlowVersionsRequest {
+
+ /** ListTensorFlowVersionsRequest parent */
+ parent?: (string|null);
+
+ /** ListTensorFlowVersionsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListTensorFlowVersionsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListTensorFlowVersionsRequest filter */
+ filter?: (string|null);
+
+ /** ListTensorFlowVersionsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListTensorFlowVersionsRequest. */
+ class ListTensorFlowVersionsRequest implements IListTensorFlowVersionsRequest {
+
+ /**
+ * Constructs a new ListTensorFlowVersionsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IListTensorFlowVersionsRequest);
+
+ /** ListTensorFlowVersionsRequest parent. */
+ public parent: string;
+
+ /** ListTensorFlowVersionsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListTensorFlowVersionsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListTensorFlowVersionsRequest filter. */
+ public filter: string;
+
+ /** ListTensorFlowVersionsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListTensorFlowVersionsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTensorFlowVersionsRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IListTensorFlowVersionsRequest): google.cloud.tpu.v1.ListTensorFlowVersionsRequest;
+
+ /**
+ * Encodes the specified ListTensorFlowVersionsRequest message. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsRequest.verify|verify} messages.
+ * @param message ListTensorFlowVersionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IListTensorFlowVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTensorFlowVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsRequest.verify|verify} messages.
+ * @param message ListTensorFlowVersionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IListTensorFlowVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTensorFlowVersionsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTensorFlowVersionsRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.ListTensorFlowVersionsRequest;
+
+ /**
+ * Decodes a ListTensorFlowVersionsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTensorFlowVersionsRequest
+ * @throws {Error} If the payload 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.tpu.v1.ListTensorFlowVersionsRequest;
+
+ /**
+ * Verifies a ListTensorFlowVersionsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTensorFlowVersionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTensorFlowVersionsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.ListTensorFlowVersionsRequest;
+
+ /**
+ * Creates a plain object from a ListTensorFlowVersionsRequest message. Also converts values to other types if specified.
+ * @param message ListTensorFlowVersionsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.ListTensorFlowVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTensorFlowVersionsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTensorFlowVersionsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTensorFlowVersionsResponse. */
+ interface IListTensorFlowVersionsResponse {
+
+ /** ListTensorFlowVersionsResponse tensorflowVersions */
+ tensorflowVersions?: (google.cloud.tpu.v1.ITensorFlowVersion[]|null);
+
+ /** ListTensorFlowVersionsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListTensorFlowVersionsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListTensorFlowVersionsResponse. */
+ class ListTensorFlowVersionsResponse implements IListTensorFlowVersionsResponse {
+
+ /**
+ * Constructs a new ListTensorFlowVersionsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IListTensorFlowVersionsResponse);
+
+ /** ListTensorFlowVersionsResponse tensorflowVersions. */
+ public tensorflowVersions: google.cloud.tpu.v1.ITensorFlowVersion[];
+
+ /** ListTensorFlowVersionsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListTensorFlowVersionsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListTensorFlowVersionsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTensorFlowVersionsResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IListTensorFlowVersionsResponse): google.cloud.tpu.v1.ListTensorFlowVersionsResponse;
+
+ /**
+ * Encodes the specified ListTensorFlowVersionsResponse message. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsResponse.verify|verify} messages.
+ * @param message ListTensorFlowVersionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IListTensorFlowVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTensorFlowVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsResponse.verify|verify} messages.
+ * @param message ListTensorFlowVersionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IListTensorFlowVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTensorFlowVersionsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTensorFlowVersionsResponse
+ * @throws {Error} If the payload is not 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.tpu.v1.ListTensorFlowVersionsResponse;
+
+ /**
+ * Decodes a ListTensorFlowVersionsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTensorFlowVersionsResponse
+ * @throws {Error} If the payload 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.tpu.v1.ListTensorFlowVersionsResponse;
+
+ /**
+ * Verifies a ListTensorFlowVersionsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTensorFlowVersionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTensorFlowVersionsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.ListTensorFlowVersionsResponse;
+
+ /**
+ * Creates a plain object from a ListTensorFlowVersionsResponse message. Also converts values to other types if specified.
+ * @param message ListTensorFlowVersionsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.ListTensorFlowVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTensorFlowVersionsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTensorFlowVersionsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AcceleratorType. */
+ interface IAcceleratorType {
+
+ /** AcceleratorType name */
+ name?: (string|null);
+
+ /** AcceleratorType type */
+ type?: (string|null);
+ }
+
+ /** Represents an AcceleratorType. */
+ class AcceleratorType implements IAcceleratorType {
+
+ /**
+ * Constructs a new AcceleratorType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IAcceleratorType);
+
+ /** AcceleratorType name. */
+ public name: string;
+
+ /** AcceleratorType type. */
+ public type: string;
+
+ /**
+ * Creates a new AcceleratorType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AcceleratorType instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IAcceleratorType): google.cloud.tpu.v1.AcceleratorType;
+
+ /**
+ * Encodes the specified AcceleratorType message. Does not implicitly {@link google.cloud.tpu.v1.AcceleratorType.verify|verify} messages.
+ * @param message AcceleratorType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IAcceleratorType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AcceleratorType message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.AcceleratorType.verify|verify} messages.
+ * @param message AcceleratorType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IAcceleratorType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AcceleratorType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AcceleratorType
+ * @throws {Error} If the payload is not 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.tpu.v1.AcceleratorType;
+
+ /**
+ * Decodes an AcceleratorType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AcceleratorType
+ * @throws {Error} If the payload 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.tpu.v1.AcceleratorType;
+
+ /**
+ * Verifies an AcceleratorType message.
+ * @param message Plain 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 AcceleratorType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AcceleratorType
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.AcceleratorType;
+
+ /**
+ * Creates a plain object from an AcceleratorType message. Also converts values to other types if specified.
+ * @param message AcceleratorType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.AcceleratorType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AcceleratorType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AcceleratorType
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAcceleratorTypeRequest. */
+ interface IGetAcceleratorTypeRequest {
+
+ /** GetAcceleratorTypeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAcceleratorTypeRequest. */
+ class GetAcceleratorTypeRequest implements IGetAcceleratorTypeRequest {
+
+ /**
+ * Constructs a new GetAcceleratorTypeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IGetAcceleratorTypeRequest);
+
+ /** GetAcceleratorTypeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAcceleratorTypeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAcceleratorTypeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IGetAcceleratorTypeRequest): google.cloud.tpu.v1.GetAcceleratorTypeRequest;
+
+ /**
+ * Encodes the specified GetAcceleratorTypeRequest message. Does not implicitly {@link google.cloud.tpu.v1.GetAcceleratorTypeRequest.verify|verify} messages.
+ * @param message GetAcceleratorTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IGetAcceleratorTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAcceleratorTypeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.GetAcceleratorTypeRequest.verify|verify} messages.
+ * @param message GetAcceleratorTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IGetAcceleratorTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAcceleratorTypeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAcceleratorTypeRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.GetAcceleratorTypeRequest;
+
+ /**
+ * Decodes a GetAcceleratorTypeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAcceleratorTypeRequest
+ * @throws {Error} If the payload 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.tpu.v1.GetAcceleratorTypeRequest;
+
+ /**
+ * Verifies a GetAcceleratorTypeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAcceleratorTypeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAcceleratorTypeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.GetAcceleratorTypeRequest;
+
+ /**
+ * Creates a plain object from a GetAcceleratorTypeRequest message. Also converts values to other types if specified.
+ * @param message GetAcceleratorTypeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.GetAcceleratorTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAcceleratorTypeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAcceleratorTypeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAcceleratorTypesRequest. */
+ interface IListAcceleratorTypesRequest {
+
+ /** ListAcceleratorTypesRequest parent */
+ parent?: (string|null);
+
+ /** ListAcceleratorTypesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListAcceleratorTypesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListAcceleratorTypesRequest filter */
+ filter?: (string|null);
+
+ /** ListAcceleratorTypesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListAcceleratorTypesRequest. */
+ class ListAcceleratorTypesRequest implements IListAcceleratorTypesRequest {
+
+ /**
+ * Constructs a new ListAcceleratorTypesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IListAcceleratorTypesRequest);
+
+ /** ListAcceleratorTypesRequest parent. */
+ public parent: string;
+
+ /** ListAcceleratorTypesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListAcceleratorTypesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListAcceleratorTypesRequest filter. */
+ public filter: string;
+
+ /** ListAcceleratorTypesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListAcceleratorTypesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAcceleratorTypesRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IListAcceleratorTypesRequest): google.cloud.tpu.v1.ListAcceleratorTypesRequest;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesRequest message. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesRequest.verify|verify} messages.
+ * @param message ListAcceleratorTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IListAcceleratorTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesRequest.verify|verify} messages.
+ * @param message ListAcceleratorTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IListAcceleratorTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAcceleratorTypesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAcceleratorTypesRequest
+ * @throws {Error} If the payload is not 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.tpu.v1.ListAcceleratorTypesRequest;
+
+ /**
+ * Decodes a ListAcceleratorTypesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAcceleratorTypesRequest
+ * @throws {Error} If the payload 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.tpu.v1.ListAcceleratorTypesRequest;
+
+ /**
+ * Verifies a ListAcceleratorTypesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAcceleratorTypesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAcceleratorTypesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.ListAcceleratorTypesRequest;
+
+ /**
+ * Creates a plain object from a ListAcceleratorTypesRequest message. Also converts values to other types if specified.
+ * @param message ListAcceleratorTypesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.ListAcceleratorTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAcceleratorTypesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAcceleratorTypesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAcceleratorTypesResponse. */
+ interface IListAcceleratorTypesResponse {
+
+ /** ListAcceleratorTypesResponse acceleratorTypes */
+ acceleratorTypes?: (google.cloud.tpu.v1.IAcceleratorType[]|null);
+
+ /** ListAcceleratorTypesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListAcceleratorTypesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListAcceleratorTypesResponse. */
+ class ListAcceleratorTypesResponse implements IListAcceleratorTypesResponse {
+
+ /**
+ * Constructs a new ListAcceleratorTypesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.IListAcceleratorTypesResponse);
+
+ /** ListAcceleratorTypesResponse acceleratorTypes. */
+ public acceleratorTypes: google.cloud.tpu.v1.IAcceleratorType[];
+
+ /** ListAcceleratorTypesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListAcceleratorTypesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListAcceleratorTypesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAcceleratorTypesResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.IListAcceleratorTypesResponse): google.cloud.tpu.v1.ListAcceleratorTypesResponse;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesResponse message. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesResponse.verify|verify} messages.
+ * @param message ListAcceleratorTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.IListAcceleratorTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesResponse.verify|verify} messages.
+ * @param message ListAcceleratorTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.IListAcceleratorTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAcceleratorTypesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAcceleratorTypesResponse
+ * @throws {Error} If the payload is not 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.tpu.v1.ListAcceleratorTypesResponse;
+
+ /**
+ * Decodes a ListAcceleratorTypesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAcceleratorTypesResponse
+ * @throws {Error} If the payload 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.tpu.v1.ListAcceleratorTypesResponse;
+
+ /**
+ * Verifies a ListAcceleratorTypesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAcceleratorTypesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAcceleratorTypesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.ListAcceleratorTypesResponse;
+
+ /**
+ * Creates a plain object from a ListAcceleratorTypesResponse message. Also converts values to other types if specified.
+ * @param message ListAcceleratorTypesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.ListAcceleratorTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAcceleratorTypesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAcceleratorTypesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** 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 statusDetail */
+ statusDetail?: (string|null);
+
+ /** OperationMetadata cancelRequested */
+ cancelRequested?: (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.tpu.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 statusDetail. */
+ public statusDetail: string;
+
+ /** OperationMetadata cancelRequested. */
+ public cancelRequested: 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.tpu.v1.IOperationMetadata): google.cloud.tpu.v1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.tpu.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.tpu.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.tpu.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.tpu.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.tpu.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.tpu.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.tpu.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.tpu.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;
+ }
+
+ /** Properties of a Symptom. */
+ interface ISymptom {
+
+ /** Symptom createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Symptom symptomType */
+ symptomType?: (google.cloud.tpu.v1.Symptom.SymptomType|keyof typeof google.cloud.tpu.v1.Symptom.SymptomType|null);
+
+ /** Symptom details */
+ details?: (string|null);
+
+ /** Symptom workerId */
+ workerId?: (string|null);
+ }
+
+ /** Represents a Symptom. */
+ class Symptom implements ISymptom {
+
+ /**
+ * Constructs a new Symptom.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v1.ISymptom);
+
+ /** Symptom createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Symptom symptomType. */
+ public symptomType: (google.cloud.tpu.v1.Symptom.SymptomType|keyof typeof google.cloud.tpu.v1.Symptom.SymptomType);
+
+ /** Symptom details. */
+ public details: string;
+
+ /** Symptom workerId. */
+ public workerId: string;
+
+ /**
+ * Creates a new Symptom instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Symptom instance
+ */
+ public static create(properties?: google.cloud.tpu.v1.ISymptom): google.cloud.tpu.v1.Symptom;
+
+ /**
+ * Encodes the specified Symptom message. Does not implicitly {@link google.cloud.tpu.v1.Symptom.verify|verify} messages.
+ * @param message Symptom message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v1.ISymptom, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Symptom message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.Symptom.verify|verify} messages.
+ * @param message Symptom message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v1.ISymptom, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Symptom message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Symptom
+ * @throws {Error} If the payload is not 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.tpu.v1.Symptom;
+
+ /**
+ * Decodes a Symptom message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Symptom
+ * @throws {Error} If the payload 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.tpu.v1.Symptom;
+
+ /**
+ * Verifies a Symptom message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Symptom message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Symptom
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v1.Symptom;
+
+ /**
+ * Creates a plain object from a Symptom message. Also converts values to other types if specified.
+ * @param message Symptom
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v1.Symptom, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Symptom to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Symptom
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Symptom {
+
+ /** SymptomType enum. */
+ enum SymptomType {
+ SYMPTOM_TYPE_UNSPECIFIED = 0,
+ LOW_MEMORY = 1,
+ OUT_OF_MEMORY = 2,
+ EXECUTE_TIMED_OUT = 3,
+ MESH_BUILD_FAIL = 4,
+ HBM_OUT_OF_MEMORY = 5,
+ PROJECT_ABUSE = 6
+ }
+ }
+ }
+
+ /** Namespace v2alpha1. */
+ namespace v2alpha1 {
+
+ /** Represents a Tpu */
+ class Tpu extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Tpu 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 Tpu 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): Tpu;
+
+ /**
+ * Calls ListNodes.
+ * @param request ListNodesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListNodesResponse
+ */
+ public listNodes(request: google.cloud.tpu.v2alpha1.IListNodesRequest, callback: google.cloud.tpu.v2alpha1.Tpu.ListNodesCallback): void;
+
+ /**
+ * Calls ListNodes.
+ * @param request ListNodesRequest message or plain object
+ * @returns Promise
+ */
+ public listNodes(request: google.cloud.tpu.v2alpha1.IListNodesRequest): Promise;
+
+ /**
+ * Calls GetNode.
+ * @param request GetNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Node
+ */
+ public getNode(request: google.cloud.tpu.v2alpha1.IGetNodeRequest, callback: google.cloud.tpu.v2alpha1.Tpu.GetNodeCallback): void;
+
+ /**
+ * Calls GetNode.
+ * @param request GetNodeRequest message or plain object
+ * @returns Promise
+ */
+ public getNode(request: google.cloud.tpu.v2alpha1.IGetNodeRequest): Promise;
+
+ /**
+ * Calls CreateNode.
+ * @param request CreateNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createNode(request: google.cloud.tpu.v2alpha1.ICreateNodeRequest, callback: google.cloud.tpu.v2alpha1.Tpu.CreateNodeCallback): void;
+
+ /**
+ * Calls CreateNode.
+ * @param request CreateNodeRequest message or plain object
+ * @returns Promise
+ */
+ public createNode(request: google.cloud.tpu.v2alpha1.ICreateNodeRequest): Promise;
+
+ /**
+ * Calls DeleteNode.
+ * @param request DeleteNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteNode(request: google.cloud.tpu.v2alpha1.IDeleteNodeRequest, callback: google.cloud.tpu.v2alpha1.Tpu.DeleteNodeCallback): void;
+
+ /**
+ * Calls DeleteNode.
+ * @param request DeleteNodeRequest message or plain object
+ * @returns Promise
+ */
+ public deleteNode(request: google.cloud.tpu.v2alpha1.IDeleteNodeRequest): Promise;
+
+ /**
+ * Calls StopNode.
+ * @param request StopNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public stopNode(request: google.cloud.tpu.v2alpha1.IStopNodeRequest, callback: google.cloud.tpu.v2alpha1.Tpu.StopNodeCallback): void;
+
+ /**
+ * Calls StopNode.
+ * @param request StopNodeRequest message or plain object
+ * @returns Promise
+ */
+ public stopNode(request: google.cloud.tpu.v2alpha1.IStopNodeRequest): Promise;
+
+ /**
+ * Calls StartNode.
+ * @param request StartNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public startNode(request: google.cloud.tpu.v2alpha1.IStartNodeRequest, callback: google.cloud.tpu.v2alpha1.Tpu.StartNodeCallback): void;
+
+ /**
+ * Calls StartNode.
+ * @param request StartNodeRequest message or plain object
+ * @returns Promise
+ */
+ public startNode(request: google.cloud.tpu.v2alpha1.IStartNodeRequest): Promise;
+
+ /**
+ * Calls UpdateNode.
+ * @param request UpdateNodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateNode(request: google.cloud.tpu.v2alpha1.IUpdateNodeRequest, callback: google.cloud.tpu.v2alpha1.Tpu.UpdateNodeCallback): void;
+
+ /**
+ * Calls UpdateNode.
+ * @param request UpdateNodeRequest message or plain object
+ * @returns Promise
+ */
+ public updateNode(request: google.cloud.tpu.v2alpha1.IUpdateNodeRequest): Promise;
+
+ /**
+ * Calls GenerateServiceIdentity.
+ * @param request GenerateServiceIdentityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GenerateServiceIdentityResponse
+ */
+ public generateServiceIdentity(request: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, callback: google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentityCallback): void;
+
+ /**
+ * Calls GenerateServiceIdentity.
+ * @param request GenerateServiceIdentityRequest message or plain object
+ * @returns Promise
+ */
+ public generateServiceIdentity(request: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest): Promise;
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @param request ListAcceleratorTypesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListAcceleratorTypesResponse
+ */
+ public listAcceleratorTypes(request: google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, callback: google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypesCallback): void;
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @param request ListAcceleratorTypesRequest message or plain object
+ * @returns Promise
+ */
+ public listAcceleratorTypes(request: google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest): Promise;
+
+ /**
+ * Calls GetAcceleratorType.
+ * @param request GetAcceleratorTypeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AcceleratorType
+ */
+ public getAcceleratorType(request: google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, callback: google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorTypeCallback): void;
+
+ /**
+ * Calls GetAcceleratorType.
+ * @param request GetAcceleratorTypeRequest message or plain object
+ * @returns Promise
+ */
+ public getAcceleratorType(request: google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest): Promise;
+
+ /**
+ * Calls ListRuntimeVersions.
+ * @param request ListRuntimeVersionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListRuntimeVersionsResponse
+ */
+ public listRuntimeVersions(request: google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, callback: google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersionsCallback): void;
+
+ /**
+ * Calls ListRuntimeVersions.
+ * @param request ListRuntimeVersionsRequest message or plain object
+ * @returns Promise
+ */
+ public listRuntimeVersions(request: google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest): Promise;
+
+ /**
+ * Calls GetRuntimeVersion.
+ * @param request GetRuntimeVersionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and RuntimeVersion
+ */
+ public getRuntimeVersion(request: google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, callback: google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersionCallback): void;
+
+ /**
+ * Calls GetRuntimeVersion.
+ * @param request GetRuntimeVersionRequest message or plain object
+ * @returns Promise
+ */
+ public getRuntimeVersion(request: google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest): Promise;
+
+ /**
+ * Calls GetGuestAttributes.
+ * @param request GetGuestAttributesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GetGuestAttributesResponse
+ */
+ public getGuestAttributes(request: google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, callback: google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributesCallback): void;
+
+ /**
+ * Calls GetGuestAttributes.
+ * @param request GetGuestAttributesRequest message or plain object
+ * @returns Promise
+ */
+ public getGuestAttributes(request: google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest): Promise;
+ }
+
+ namespace Tpu {
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listNodes}.
+ * @param error Error, if any
+ * @param [response] ListNodesResponse
+ */
+ type ListNodesCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.ListNodesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getNode}.
+ * @param error Error, if any
+ * @param [response] Node
+ */
+ type GetNodeCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.Node) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|createNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|deleteNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|stopNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type StopNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|startNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type StartNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|updateNode}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateNodeCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|generateServiceIdentity}.
+ * @param error Error, if any
+ * @param [response] GenerateServiceIdentityResponse
+ */
+ type GenerateServiceIdentityCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listAcceleratorTypes}.
+ * @param error Error, if any
+ * @param [response] ListAcceleratorTypesResponse
+ */
+ type ListAcceleratorTypesCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getAcceleratorType}.
+ * @param error Error, if any
+ * @param [response] AcceleratorType
+ */
+ type GetAcceleratorTypeCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.AcceleratorType) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listRuntimeVersions}.
+ * @param error Error, if any
+ * @param [response] ListRuntimeVersionsResponse
+ */
+ type ListRuntimeVersionsCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getRuntimeVersion}.
+ * @param error Error, if any
+ * @param [response] RuntimeVersion
+ */
+ type GetRuntimeVersionCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.RuntimeVersion) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getGuestAttributes}.
+ * @param error Error, if any
+ * @param [response] GetGuestAttributesResponse
+ */
+ type GetGuestAttributesCallback = (error: (Error|null), response?: google.cloud.tpu.v2alpha1.GetGuestAttributesResponse) => void;
+ }
+
+ /** Properties of a GuestAttributes. */
+ interface IGuestAttributes {
+
+ /** GuestAttributes queryPath */
+ queryPath?: (string|null);
+
+ /** GuestAttributes queryValue */
+ queryValue?: (google.cloud.tpu.v2alpha1.IGuestAttributesValue|null);
+ }
+
+ /** Represents a GuestAttributes. */
+ class GuestAttributes implements IGuestAttributes {
+
+ /**
+ * Constructs a new GuestAttributes.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGuestAttributes);
+
+ /** GuestAttributes queryPath. */
+ public queryPath: string;
+
+ /** GuestAttributes queryValue. */
+ public queryValue?: (google.cloud.tpu.v2alpha1.IGuestAttributesValue|null);
+
+ /**
+ * Creates a new GuestAttributes instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GuestAttributes instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGuestAttributes): google.cloud.tpu.v2alpha1.GuestAttributes;
+
+ /**
+ * Encodes the specified GuestAttributes message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributes.verify|verify} messages.
+ * @param message GuestAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGuestAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GuestAttributes message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributes.verify|verify} messages.
+ * @param message GuestAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGuestAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GuestAttributes message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GuestAttributes
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GuestAttributes;
+
+ /**
+ * Decodes a GuestAttributes message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GuestAttributes
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GuestAttributes;
+
+ /**
+ * Verifies a GuestAttributes message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GuestAttributes message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GuestAttributes
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GuestAttributes;
+
+ /**
+ * Creates a plain object from a GuestAttributes message. Also converts values to other types if specified.
+ * @param message GuestAttributes
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GuestAttributes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GuestAttributes to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GuestAttributes
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GuestAttributesValue. */
+ interface IGuestAttributesValue {
+
+ /** GuestAttributesValue items */
+ items?: (google.cloud.tpu.v2alpha1.IGuestAttributesEntry[]|null);
+ }
+
+ /** Represents a GuestAttributesValue. */
+ class GuestAttributesValue implements IGuestAttributesValue {
+
+ /**
+ * Constructs a new GuestAttributesValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGuestAttributesValue);
+
+ /** GuestAttributesValue items. */
+ public items: google.cloud.tpu.v2alpha1.IGuestAttributesEntry[];
+
+ /**
+ * Creates a new GuestAttributesValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GuestAttributesValue instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGuestAttributesValue): google.cloud.tpu.v2alpha1.GuestAttributesValue;
+
+ /**
+ * Encodes the specified GuestAttributesValue message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesValue.verify|verify} messages.
+ * @param message GuestAttributesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGuestAttributesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GuestAttributesValue message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesValue.verify|verify} messages.
+ * @param message GuestAttributesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGuestAttributesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GuestAttributesValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GuestAttributesValue
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GuestAttributesValue;
+
+ /**
+ * Decodes a GuestAttributesValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GuestAttributesValue
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GuestAttributesValue;
+
+ /**
+ * Verifies a GuestAttributesValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GuestAttributesValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GuestAttributesValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GuestAttributesValue;
+
+ /**
+ * Creates a plain object from a GuestAttributesValue message. Also converts values to other types if specified.
+ * @param message GuestAttributesValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GuestAttributesValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GuestAttributesValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GuestAttributesValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GuestAttributesEntry. */
+ interface IGuestAttributesEntry {
+
+ /** GuestAttributesEntry namespace */
+ namespace?: (string|null);
+
+ /** GuestAttributesEntry key */
+ key?: (string|null);
+
+ /** GuestAttributesEntry value */
+ value?: (string|null);
+ }
+
+ /** Represents a GuestAttributesEntry. */
+ class GuestAttributesEntry implements IGuestAttributesEntry {
+
+ /**
+ * Constructs a new GuestAttributesEntry.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGuestAttributesEntry);
+
+ /** GuestAttributesEntry namespace. */
+ public namespace: string;
+
+ /** GuestAttributesEntry key. */
+ public key: string;
+
+ /** GuestAttributesEntry value. */
+ public value: string;
+
+ /**
+ * Creates a new GuestAttributesEntry instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GuestAttributesEntry instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGuestAttributesEntry): google.cloud.tpu.v2alpha1.GuestAttributesEntry;
+
+ /**
+ * Encodes the specified GuestAttributesEntry message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesEntry.verify|verify} messages.
+ * @param message GuestAttributesEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGuestAttributesEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GuestAttributesEntry message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesEntry.verify|verify} messages.
+ * @param message GuestAttributesEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGuestAttributesEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GuestAttributesEntry message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GuestAttributesEntry
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GuestAttributesEntry;
+
+ /**
+ * Decodes a GuestAttributesEntry message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GuestAttributesEntry
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GuestAttributesEntry;
+
+ /**
+ * Verifies a GuestAttributesEntry message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GuestAttributesEntry message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GuestAttributesEntry
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GuestAttributesEntry;
+
+ /**
+ * Creates a plain object from a GuestAttributesEntry message. Also converts values to other types if specified.
+ * @param message GuestAttributesEntry
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GuestAttributesEntry, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GuestAttributesEntry to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GuestAttributesEntry
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AttachedDisk. */
+ interface IAttachedDisk {
+
+ /** AttachedDisk sourceDisk */
+ sourceDisk?: (string|null);
+
+ /** AttachedDisk mode */
+ mode?: (google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode|keyof typeof google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode|null);
+ }
+
+ /** Represents an AttachedDisk. */
+ class AttachedDisk implements IAttachedDisk {
+
+ /**
+ * Constructs a new AttachedDisk.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IAttachedDisk);
+
+ /** AttachedDisk sourceDisk. */
+ public sourceDisk: string;
+
+ /** AttachedDisk mode. */
+ public mode: (google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode|keyof typeof google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode);
+
+ /**
+ * Creates a new AttachedDisk instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttachedDisk instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IAttachedDisk): google.cloud.tpu.v2alpha1.AttachedDisk;
+
+ /**
+ * Encodes the specified AttachedDisk message. Does not implicitly {@link google.cloud.tpu.v2alpha1.AttachedDisk.verify|verify} messages.
+ * @param message AttachedDisk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IAttachedDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttachedDisk message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.AttachedDisk.verify|verify} messages.
+ * @param message AttachedDisk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IAttachedDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttachedDisk message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttachedDisk
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.AttachedDisk;
+
+ /**
+ * Decodes an AttachedDisk message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttachedDisk
+ * @throws {Error} If the payload 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.tpu.v2alpha1.AttachedDisk;
+
+ /**
+ * Verifies an AttachedDisk message.
+ * @param message Plain 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 AttachedDisk message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttachedDisk
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.AttachedDisk;
+
+ /**
+ * Creates a plain object from an AttachedDisk message. Also converts values to other types if specified.
+ * @param message AttachedDisk
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.AttachedDisk, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttachedDisk to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttachedDisk
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AttachedDisk {
+
+ /** DiskMode enum. */
+ enum DiskMode {
+ DISK_MODE_UNSPECIFIED = 0,
+ READ_WRITE = 1,
+ READ_ONLY = 2
+ }
+ }
+
+ /** Properties of a SchedulingConfig. */
+ interface ISchedulingConfig {
+
+ /** SchedulingConfig preemptible */
+ preemptible?: (boolean|null);
+
+ /** SchedulingConfig reserved */
+ reserved?: (boolean|null);
+ }
+
+ /** Represents a SchedulingConfig. */
+ class SchedulingConfig implements ISchedulingConfig {
+
+ /**
+ * Constructs a new SchedulingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.ISchedulingConfig);
+
+ /** SchedulingConfig preemptible. */
+ public preemptible: boolean;
+
+ /** SchedulingConfig reserved. */
+ public reserved: boolean;
+
+ /**
+ * Creates a new SchedulingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SchedulingConfig instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.ISchedulingConfig): google.cloud.tpu.v2alpha1.SchedulingConfig;
+
+ /**
+ * Encodes the specified SchedulingConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.SchedulingConfig.verify|verify} messages.
+ * @param message SchedulingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.ISchedulingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SchedulingConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.SchedulingConfig.verify|verify} messages.
+ * @param message SchedulingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.ISchedulingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SchedulingConfig
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.SchedulingConfig;
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SchedulingConfig
+ * @throws {Error} If the payload 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.tpu.v2alpha1.SchedulingConfig;
+
+ /**
+ * Verifies a SchedulingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SchedulingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SchedulingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.SchedulingConfig;
+
+ /**
+ * Creates a plain object from a SchedulingConfig message. Also converts values to other types if specified.
+ * @param message SchedulingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.SchedulingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SchedulingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SchedulingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NetworkEndpoint. */
+ interface INetworkEndpoint {
+
+ /** NetworkEndpoint ipAddress */
+ ipAddress?: (string|null);
+
+ /** NetworkEndpoint port */
+ port?: (number|null);
+
+ /** NetworkEndpoint accessConfig */
+ accessConfig?: (google.cloud.tpu.v2alpha1.IAccessConfig|null);
+ }
+
+ /** Represents a NetworkEndpoint. */
+ class NetworkEndpoint implements INetworkEndpoint {
+
+ /**
+ * Constructs a new NetworkEndpoint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.INetworkEndpoint);
+
+ /** NetworkEndpoint ipAddress. */
+ public ipAddress: string;
+
+ /** NetworkEndpoint port. */
+ public port: number;
+
+ /** NetworkEndpoint accessConfig. */
+ public accessConfig?: (google.cloud.tpu.v2alpha1.IAccessConfig|null);
+
+ /**
+ * Creates a new NetworkEndpoint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NetworkEndpoint instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.INetworkEndpoint): google.cloud.tpu.v2alpha1.NetworkEndpoint;
+
+ /**
+ * Encodes the specified NetworkEndpoint message. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkEndpoint.verify|verify} messages.
+ * @param message NetworkEndpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.INetworkEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NetworkEndpoint message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkEndpoint.verify|verify} messages.
+ * @param message NetworkEndpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.INetworkEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NetworkEndpoint
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.NetworkEndpoint;
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NetworkEndpoint
+ * @throws {Error} If the payload 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.tpu.v2alpha1.NetworkEndpoint;
+
+ /**
+ * Verifies a NetworkEndpoint message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NetworkEndpoint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NetworkEndpoint
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.NetworkEndpoint;
+
+ /**
+ * Creates a plain object from a NetworkEndpoint message. Also converts values to other types if specified.
+ * @param message NetworkEndpoint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.NetworkEndpoint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NetworkEndpoint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NetworkEndpoint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AccessConfig. */
+ interface IAccessConfig {
+
+ /** AccessConfig externalIp */
+ externalIp?: (string|null);
+ }
+
+ /** Represents an AccessConfig. */
+ class AccessConfig implements IAccessConfig {
+
+ /**
+ * Constructs a new AccessConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IAccessConfig);
+
+ /** AccessConfig externalIp. */
+ public externalIp: string;
+
+ /**
+ * Creates a new AccessConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessConfig instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IAccessConfig): google.cloud.tpu.v2alpha1.AccessConfig;
+
+ /**
+ * Encodes the specified AccessConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.AccessConfig.verify|verify} messages.
+ * @param message AccessConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IAccessConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.AccessConfig.verify|verify} messages.
+ * @param message AccessConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IAccessConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessConfig
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.AccessConfig;
+
+ /**
+ * Decodes an AccessConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessConfig
+ * @throws {Error} If the payload 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.tpu.v2alpha1.AccessConfig;
+
+ /**
+ * Verifies an AccessConfig message.
+ * @param message Plain 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 AccessConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.AccessConfig;
+
+ /**
+ * Creates a plain object from an AccessConfig message. Also converts values to other types if specified.
+ * @param message AccessConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.AccessConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NetworkConfig. */
+ interface INetworkConfig {
+
+ /** NetworkConfig network */
+ network?: (string|null);
+
+ /** NetworkConfig subnetwork */
+ subnetwork?: (string|null);
+
+ /** NetworkConfig enableExternalIps */
+ enableExternalIps?: (boolean|null);
+ }
+
+ /** Represents a NetworkConfig. */
+ class NetworkConfig implements INetworkConfig {
+
+ /**
+ * Constructs a new NetworkConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.INetworkConfig);
+
+ /** NetworkConfig network. */
+ public network: string;
+
+ /** NetworkConfig subnetwork. */
+ public subnetwork: string;
+
+ /** NetworkConfig enableExternalIps. */
+ public enableExternalIps: boolean;
+
+ /**
+ * Creates a new NetworkConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NetworkConfig instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.INetworkConfig): google.cloud.tpu.v2alpha1.NetworkConfig;
+
+ /**
+ * Encodes the specified NetworkConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkConfig.verify|verify} messages.
+ * @param message NetworkConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.INetworkConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NetworkConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkConfig.verify|verify} messages.
+ * @param message NetworkConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.INetworkConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NetworkConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NetworkConfig
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.NetworkConfig;
+
+ /**
+ * Decodes a NetworkConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NetworkConfig
+ * @throws {Error} If the payload 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.tpu.v2alpha1.NetworkConfig;
+
+ /**
+ * Verifies a NetworkConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NetworkConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NetworkConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.NetworkConfig;
+
+ /**
+ * Creates a plain object from a NetworkConfig message. Also converts values to other types if specified.
+ * @param message NetworkConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.NetworkConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NetworkConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NetworkConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceAccount. */
+ interface IServiceAccount {
+
+ /** ServiceAccount email */
+ email?: (string|null);
+
+ /** ServiceAccount scope */
+ scope?: (string[]|null);
+ }
+
+ /** Represents a ServiceAccount. */
+ class ServiceAccount implements IServiceAccount {
+
+ /**
+ * Constructs a new ServiceAccount.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IServiceAccount);
+
+ /** ServiceAccount email. */
+ public email: string;
+
+ /** ServiceAccount scope. */
+ public scope: string[];
+
+ /**
+ * Creates a new ServiceAccount instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceAccount instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IServiceAccount): google.cloud.tpu.v2alpha1.ServiceAccount;
+
+ /**
+ * Encodes the specified ServiceAccount message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceAccount.verify|verify} messages.
+ * @param message ServiceAccount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IServiceAccount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceAccount message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceAccount.verify|verify} messages.
+ * @param message ServiceAccount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IServiceAccount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceAccount
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ServiceAccount;
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceAccount
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ServiceAccount;
+
+ /**
+ * Verifies a ServiceAccount message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceAccount message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceAccount
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ServiceAccount;
+
+ /**
+ * Creates a plain object from a ServiceAccount message. Also converts values to other types if specified.
+ * @param message ServiceAccount
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ServiceAccount, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceAccount to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceAccount
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Node. */
+ interface INode {
+
+ /** Node name */
+ name?: (string|null);
+
+ /** Node description */
+ description?: (string|null);
+
+ /** Node acceleratorType */
+ acceleratorType?: (string|null);
+
+ /** Node state */
+ state?: (google.cloud.tpu.v2alpha1.Node.State|keyof typeof google.cloud.tpu.v2alpha1.Node.State|null);
+
+ /** Node healthDescription */
+ healthDescription?: (string|null);
+
+ /** Node runtimeVersion */
+ runtimeVersion?: (string|null);
+
+ /** Node networkConfig */
+ networkConfig?: (google.cloud.tpu.v2alpha1.INetworkConfig|null);
+
+ /** Node cidrBlock */
+ cidrBlock?: (string|null);
+
+ /** Node serviceAccount */
+ serviceAccount?: (google.cloud.tpu.v2alpha1.IServiceAccount|null);
+
+ /** Node createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Node schedulingConfig */
+ schedulingConfig?: (google.cloud.tpu.v2alpha1.ISchedulingConfig|null);
+
+ /** Node networkEndpoints */
+ networkEndpoints?: (google.cloud.tpu.v2alpha1.INetworkEndpoint[]|null);
+
+ /** Node health */
+ health?: (google.cloud.tpu.v2alpha1.Node.Health|keyof typeof google.cloud.tpu.v2alpha1.Node.Health|null);
+
+ /** Node labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Node metadata */
+ metadata?: ({ [k: string]: string }|null);
+
+ /** Node tags */
+ tags?: (string[]|null);
+
+ /** Node id */
+ id?: (number|Long|string|null);
+
+ /** Node dataDisks */
+ dataDisks?: (google.cloud.tpu.v2alpha1.IAttachedDisk[]|null);
+
+ /** Node apiVersion */
+ apiVersion?: (google.cloud.tpu.v2alpha1.Node.ApiVersion|keyof typeof google.cloud.tpu.v2alpha1.Node.ApiVersion|null);
+
+ /** Node symptoms */
+ symptoms?: (google.cloud.tpu.v2alpha1.ISymptom[]|null);
+
+ /** Node shieldedInstanceConfig */
+ shieldedInstanceConfig?: (google.cloud.tpu.v2alpha1.IShieldedInstanceConfig|null);
+ }
+
+ /** Represents a Node. */
+ class Node implements INode {
+
+ /**
+ * Constructs a new Node.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.INode);
+
+ /** Node name. */
+ public name: string;
+
+ /** Node description. */
+ public description: string;
+
+ /** Node acceleratorType. */
+ public acceleratorType: string;
+
+ /** Node state. */
+ public state: (google.cloud.tpu.v2alpha1.Node.State|keyof typeof google.cloud.tpu.v2alpha1.Node.State);
+
+ /** Node healthDescription. */
+ public healthDescription: string;
+
+ /** Node runtimeVersion. */
+ public runtimeVersion: string;
+
+ /** Node networkConfig. */
+ public networkConfig?: (google.cloud.tpu.v2alpha1.INetworkConfig|null);
+
+ /** Node cidrBlock. */
+ public cidrBlock: string;
+
+ /** Node serviceAccount. */
+ public serviceAccount?: (google.cloud.tpu.v2alpha1.IServiceAccount|null);
+
+ /** Node createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Node schedulingConfig. */
+ public schedulingConfig?: (google.cloud.tpu.v2alpha1.ISchedulingConfig|null);
+
+ /** Node networkEndpoints. */
+ public networkEndpoints: google.cloud.tpu.v2alpha1.INetworkEndpoint[];
+
+ /** Node health. */
+ public health: (google.cloud.tpu.v2alpha1.Node.Health|keyof typeof google.cloud.tpu.v2alpha1.Node.Health);
+
+ /** Node labels. */
+ public labels: { [k: string]: string };
+
+ /** Node metadata. */
+ public metadata: { [k: string]: string };
+
+ /** Node tags. */
+ public tags: string[];
+
+ /** Node id. */
+ public id: (number|Long|string);
+
+ /** Node dataDisks. */
+ public dataDisks: google.cloud.tpu.v2alpha1.IAttachedDisk[];
+
+ /** Node apiVersion. */
+ public apiVersion: (google.cloud.tpu.v2alpha1.Node.ApiVersion|keyof typeof google.cloud.tpu.v2alpha1.Node.ApiVersion);
+
+ /** Node symptoms. */
+ public symptoms: google.cloud.tpu.v2alpha1.ISymptom[];
+
+ /** Node shieldedInstanceConfig. */
+ public shieldedInstanceConfig?: (google.cloud.tpu.v2alpha1.IShieldedInstanceConfig|null);
+
+ /**
+ * Creates a new Node instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Node instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.INode): google.cloud.tpu.v2alpha1.Node;
+
+ /**
+ * Encodes the specified Node message. Does not implicitly {@link google.cloud.tpu.v2alpha1.Node.verify|verify} messages.
+ * @param message Node message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.INode, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Node message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.Node.verify|verify} messages.
+ * @param message Node message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.INode, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Node message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Node
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.Node;
+
+ /**
+ * Decodes a Node message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Node
+ * @throws {Error} If the payload 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.tpu.v2alpha1.Node;
+
+ /**
+ * Verifies a Node message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Node message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Node
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.Node;
+
+ /**
+ * Creates a plain object from a Node message. Also converts values to other types if specified.
+ * @param message Node
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.Node, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Node to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Node
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Node {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ CREATING = 1,
+ READY = 2,
+ RESTARTING = 3,
+ REIMAGING = 4,
+ DELETING = 5,
+ REPAIRING = 6,
+ STOPPED = 8,
+ STOPPING = 9,
+ STARTING = 10,
+ PREEMPTED = 11,
+ TERMINATED = 12,
+ HIDING = 13,
+ HIDDEN = 14,
+ UNHIDING = 15
+ }
+
+ /** Health enum. */
+ enum Health {
+ HEALTH_UNSPECIFIED = 0,
+ HEALTHY = 1,
+ TIMEOUT = 3,
+ UNHEALTHY_TENSORFLOW = 4,
+ UNHEALTHY_MAINTENANCE = 5
+ }
+
+ /** ApiVersion enum. */
+ enum ApiVersion {
+ API_VERSION_UNSPECIFIED = 0,
+ V1_ALPHA1 = 1,
+ V1 = 2,
+ V2_ALPHA1 = 3
+ }
+ }
+
+ /** Properties of a ListNodesRequest. */
+ interface IListNodesRequest {
+
+ /** ListNodesRequest parent */
+ parent?: (string|null);
+
+ /** ListNodesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListNodesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListNodesRequest. */
+ class ListNodesRequest implements IListNodesRequest {
+
+ /**
+ * Constructs a new ListNodesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IListNodesRequest);
+
+ /** ListNodesRequest parent. */
+ public parent: string;
+
+ /** ListNodesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListNodesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListNodesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNodesRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IListNodesRequest): google.cloud.tpu.v2alpha1.ListNodesRequest;
+
+ /**
+ * Encodes the specified ListNodesRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesRequest.verify|verify} messages.
+ * @param message ListNodesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IListNodesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNodesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesRequest.verify|verify} messages.
+ * @param message ListNodesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IListNodesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNodesRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ListNodesRequest;
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNodesRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ListNodesRequest;
+
+ /**
+ * Verifies a ListNodesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNodesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNodesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ListNodesRequest;
+
+ /**
+ * Creates a plain object from a ListNodesRequest message. Also converts values to other types if specified.
+ * @param message ListNodesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ListNodesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNodesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNodesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNodesResponse. */
+ interface IListNodesResponse {
+
+ /** ListNodesResponse nodes */
+ nodes?: (google.cloud.tpu.v2alpha1.INode[]|null);
+
+ /** ListNodesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListNodesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListNodesResponse. */
+ class ListNodesResponse implements IListNodesResponse {
+
+ /**
+ * Constructs a new ListNodesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IListNodesResponse);
+
+ /** ListNodesResponse nodes. */
+ public nodes: google.cloud.tpu.v2alpha1.INode[];
+
+ /** ListNodesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListNodesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListNodesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNodesResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IListNodesResponse): google.cloud.tpu.v2alpha1.ListNodesResponse;
+
+ /**
+ * Encodes the specified ListNodesResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesResponse.verify|verify} messages.
+ * @param message ListNodesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IListNodesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNodesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesResponse.verify|verify} messages.
+ * @param message ListNodesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IListNodesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNodesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNodesResponse
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ListNodesResponse;
+
+ /**
+ * Decodes a ListNodesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNodesResponse
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ListNodesResponse;
+
+ /**
+ * Verifies a ListNodesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNodesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNodesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ListNodesResponse;
+
+ /**
+ * Creates a plain object from a ListNodesResponse message. Also converts values to other types if specified.
+ * @param message ListNodesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ListNodesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNodesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNodesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNodeRequest. */
+ interface IGetNodeRequest {
+
+ /** GetNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetNodeRequest. */
+ class GetNodeRequest implements IGetNodeRequest {
+
+ /**
+ * Constructs a new GetNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGetNodeRequest);
+
+ /** GetNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGetNodeRequest): google.cloud.tpu.v2alpha1.GetNodeRequest;
+
+ /**
+ * Encodes the specified GetNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetNodeRequest.verify|verify} messages.
+ * @param message GetNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGetNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetNodeRequest.verify|verify} messages.
+ * @param message GetNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGetNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GetNodeRequest;
+
+ /**
+ * Decodes a GetNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNodeRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GetNodeRequest;
+
+ /**
+ * Verifies a GetNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GetNodeRequest;
+
+ /**
+ * Creates a plain object from a GetNodeRequest message. Also converts values to other types if specified.
+ * @param message GetNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GetNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateNodeRequest. */
+ interface ICreateNodeRequest {
+
+ /** CreateNodeRequest parent */
+ parent?: (string|null);
+
+ /** CreateNodeRequest nodeId */
+ nodeId?: (string|null);
+
+ /** CreateNodeRequest node */
+ node?: (google.cloud.tpu.v2alpha1.INode|null);
+ }
+
+ /** Represents a CreateNodeRequest. */
+ class CreateNodeRequest implements ICreateNodeRequest {
+
+ /**
+ * Constructs a new CreateNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.ICreateNodeRequest);
+
+ /** CreateNodeRequest parent. */
+ public parent: string;
+
+ /** CreateNodeRequest nodeId. */
+ public nodeId: string;
+
+ /** CreateNodeRequest node. */
+ public node?: (google.cloud.tpu.v2alpha1.INode|null);
+
+ /**
+ * Creates a new CreateNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.ICreateNodeRequest): google.cloud.tpu.v2alpha1.CreateNodeRequest;
+
+ /**
+ * Encodes the specified CreateNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.CreateNodeRequest.verify|verify} messages.
+ * @param message CreateNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.ICreateNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.CreateNodeRequest.verify|verify} messages.
+ * @param message CreateNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.ICreateNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.CreateNodeRequest;
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateNodeRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.CreateNodeRequest;
+
+ /**
+ * Verifies a CreateNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.CreateNodeRequest;
+
+ /**
+ * Creates a plain object from a CreateNodeRequest message. Also converts values to other types if specified.
+ * @param message CreateNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.CreateNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteNodeRequest. */
+ interface IDeleteNodeRequest {
+
+ /** DeleteNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteNodeRequest. */
+ class DeleteNodeRequest implements IDeleteNodeRequest {
+
+ /**
+ * Constructs a new DeleteNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IDeleteNodeRequest);
+
+ /** DeleteNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IDeleteNodeRequest): google.cloud.tpu.v2alpha1.DeleteNodeRequest;
+
+ /**
+ * Encodes the specified DeleteNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.DeleteNodeRequest.verify|verify} messages.
+ * @param message DeleteNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IDeleteNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.DeleteNodeRequest.verify|verify} messages.
+ * @param message DeleteNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IDeleteNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.DeleteNodeRequest;
+
+ /**
+ * Decodes a DeleteNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteNodeRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.DeleteNodeRequest;
+
+ /**
+ * Verifies a DeleteNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.DeleteNodeRequest;
+
+ /**
+ * Creates a plain object from a DeleteNodeRequest message. Also converts values to other types if specified.
+ * @param message DeleteNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.DeleteNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StopNodeRequest. */
+ interface IStopNodeRequest {
+
+ /** StopNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a StopNodeRequest. */
+ class StopNodeRequest implements IStopNodeRequest {
+
+ /**
+ * Constructs a new StopNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IStopNodeRequest);
+
+ /** StopNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new StopNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StopNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IStopNodeRequest): google.cloud.tpu.v2alpha1.StopNodeRequest;
+
+ /**
+ * Encodes the specified StopNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.StopNodeRequest.verify|verify} messages.
+ * @param message StopNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IStopNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StopNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.StopNodeRequest.verify|verify} messages.
+ * @param message StopNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IStopNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StopNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StopNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.StopNodeRequest;
+
+ /**
+ * Decodes a StopNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StopNodeRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.StopNodeRequest;
+
+ /**
+ * Verifies a StopNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StopNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StopNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.StopNodeRequest;
+
+ /**
+ * Creates a plain object from a StopNodeRequest message. Also converts values to other types if specified.
+ * @param message StopNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.StopNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StopNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StopNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StartNodeRequest. */
+ interface IStartNodeRequest {
+
+ /** StartNodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a StartNodeRequest. */
+ class StartNodeRequest implements IStartNodeRequest {
+
+ /**
+ * Constructs a new StartNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IStartNodeRequest);
+
+ /** StartNodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new StartNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StartNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IStartNodeRequest): google.cloud.tpu.v2alpha1.StartNodeRequest;
+
+ /**
+ * Encodes the specified StartNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.StartNodeRequest.verify|verify} messages.
+ * @param message StartNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IStartNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StartNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.StartNodeRequest.verify|verify} messages.
+ * @param message StartNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IStartNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StartNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StartNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.StartNodeRequest;
+
+ /**
+ * Decodes a StartNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StartNodeRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.StartNodeRequest;
+
+ /**
+ * Verifies a StartNodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StartNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StartNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.StartNodeRequest;
+
+ /**
+ * Creates a plain object from a StartNodeRequest message. Also converts values to other types if specified.
+ * @param message StartNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.StartNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StartNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StartNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateNodeRequest. */
+ interface IUpdateNodeRequest {
+
+ /** UpdateNodeRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateNodeRequest node */
+ node?: (google.cloud.tpu.v2alpha1.INode|null);
+ }
+
+ /** Represents an UpdateNodeRequest. */
+ class UpdateNodeRequest implements IUpdateNodeRequest {
+
+ /**
+ * Constructs a new UpdateNodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IUpdateNodeRequest);
+
+ /** UpdateNodeRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateNodeRequest node. */
+ public node?: (google.cloud.tpu.v2alpha1.INode|null);
+
+ /**
+ * Creates a new UpdateNodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateNodeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IUpdateNodeRequest): google.cloud.tpu.v2alpha1.UpdateNodeRequest;
+
+ /**
+ * Encodes the specified UpdateNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.UpdateNodeRequest.verify|verify} messages.
+ * @param message UpdateNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IUpdateNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.UpdateNodeRequest.verify|verify} messages.
+ * @param message UpdateNodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IUpdateNodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateNodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateNodeRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.UpdateNodeRequest;
+
+ /**
+ * Decodes an UpdateNodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateNodeRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.UpdateNodeRequest;
+
+ /**
+ * Verifies an UpdateNodeRequest message.
+ * @param message Plain 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 UpdateNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateNodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.UpdateNodeRequest;
+
+ /**
+ * Creates a plain object from an UpdateNodeRequest message. Also converts values to other types if specified.
+ * @param message UpdateNodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.UpdateNodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateNodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateNodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceIdentity. */
+ interface IServiceIdentity {
+
+ /** ServiceIdentity email */
+ email?: (string|null);
+ }
+
+ /** Represents a ServiceIdentity. */
+ class ServiceIdentity implements IServiceIdentity {
+
+ /**
+ * Constructs a new ServiceIdentity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IServiceIdentity);
+
+ /** ServiceIdentity email. */
+ public email: string;
+
+ /**
+ * Creates a new ServiceIdentity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceIdentity instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IServiceIdentity): google.cloud.tpu.v2alpha1.ServiceIdentity;
+
+ /**
+ * Encodes the specified ServiceIdentity message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceIdentity.verify|verify} messages.
+ * @param message ServiceIdentity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IServiceIdentity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceIdentity message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceIdentity.verify|verify} messages.
+ * @param message ServiceIdentity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IServiceIdentity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceIdentity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceIdentity
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ServiceIdentity;
+
+ /**
+ * Decodes a ServiceIdentity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceIdentity
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ServiceIdentity;
+
+ /**
+ * Verifies a ServiceIdentity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceIdentity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceIdentity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ServiceIdentity;
+
+ /**
+ * Creates a plain object from a ServiceIdentity message. Also converts values to other types if specified.
+ * @param message ServiceIdentity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ServiceIdentity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceIdentity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceIdentity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GenerateServiceIdentityRequest. */
+ interface IGenerateServiceIdentityRequest {
+
+ /** GenerateServiceIdentityRequest parent */
+ parent?: (string|null);
+ }
+
+ /** Represents a GenerateServiceIdentityRequest. */
+ class GenerateServiceIdentityRequest implements IGenerateServiceIdentityRequest {
+
+ /**
+ * Constructs a new GenerateServiceIdentityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest);
+
+ /** GenerateServiceIdentityRequest parent. */
+ public parent: string;
+
+ /**
+ * Creates a new GenerateServiceIdentityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GenerateServiceIdentityRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest): google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest;
+
+ /**
+ * Encodes the specified GenerateServiceIdentityRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest.verify|verify} messages.
+ * @param message GenerateServiceIdentityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GenerateServiceIdentityRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest.verify|verify} messages.
+ * @param message GenerateServiceIdentityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GenerateServiceIdentityRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GenerateServiceIdentityRequest;
+
+ /**
+ * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GenerateServiceIdentityRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GenerateServiceIdentityRequest;
+
+ /**
+ * Verifies a GenerateServiceIdentityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GenerateServiceIdentityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GenerateServiceIdentityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest;
+
+ /**
+ * Creates a plain object from a GenerateServiceIdentityRequest message. Also converts values to other types if specified.
+ * @param message GenerateServiceIdentityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GenerateServiceIdentityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GenerateServiceIdentityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GenerateServiceIdentityResponse. */
+ interface IGenerateServiceIdentityResponse {
+
+ /** GenerateServiceIdentityResponse identity */
+ identity?: (google.cloud.tpu.v2alpha1.IServiceIdentity|null);
+ }
+
+ /** Represents a GenerateServiceIdentityResponse. */
+ class GenerateServiceIdentityResponse implements IGenerateServiceIdentityResponse {
+
+ /**
+ * Constructs a new GenerateServiceIdentityResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse);
+
+ /** GenerateServiceIdentityResponse identity. */
+ public identity?: (google.cloud.tpu.v2alpha1.IServiceIdentity|null);
+
+ /**
+ * Creates a new GenerateServiceIdentityResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GenerateServiceIdentityResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse): google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse;
+
+ /**
+ * Encodes the specified GenerateServiceIdentityResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse.verify|verify} messages.
+ * @param message GenerateServiceIdentityResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GenerateServiceIdentityResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse.verify|verify} messages.
+ * @param message GenerateServiceIdentityResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GenerateServiceIdentityResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GenerateServiceIdentityResponse
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GenerateServiceIdentityResponse;
+
+ /**
+ * Decodes a GenerateServiceIdentityResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GenerateServiceIdentityResponse
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GenerateServiceIdentityResponse;
+
+ /**
+ * Verifies a GenerateServiceIdentityResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GenerateServiceIdentityResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GenerateServiceIdentityResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse;
+
+ /**
+ * Creates a plain object from a GenerateServiceIdentityResponse message. Also converts values to other types if specified.
+ * @param message GenerateServiceIdentityResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GenerateServiceIdentityResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GenerateServiceIdentityResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AcceleratorType. */
+ interface IAcceleratorType {
+
+ /** AcceleratorType name */
+ name?: (string|null);
+
+ /** AcceleratorType type */
+ type?: (string|null);
+ }
+
+ /** Represents an AcceleratorType. */
+ class AcceleratorType implements IAcceleratorType {
+
+ /**
+ * Constructs a new AcceleratorType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IAcceleratorType);
+
+ /** AcceleratorType name. */
+ public name: string;
+
+ /** AcceleratorType type. */
+ public type: string;
+
+ /**
+ * Creates a new AcceleratorType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AcceleratorType instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IAcceleratorType): google.cloud.tpu.v2alpha1.AcceleratorType;
+
+ /**
+ * Encodes the specified AcceleratorType message. Does not implicitly {@link google.cloud.tpu.v2alpha1.AcceleratorType.verify|verify} messages.
+ * @param message AcceleratorType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IAcceleratorType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AcceleratorType message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.AcceleratorType.verify|verify} messages.
+ * @param message AcceleratorType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IAcceleratorType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AcceleratorType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AcceleratorType
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.AcceleratorType;
+
+ /**
+ * Decodes an AcceleratorType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AcceleratorType
+ * @throws {Error} If the payload 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.tpu.v2alpha1.AcceleratorType;
+
+ /**
+ * Verifies an AcceleratorType message.
+ * @param message Plain 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 AcceleratorType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AcceleratorType
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.AcceleratorType;
+
+ /**
+ * Creates a plain object from an AcceleratorType message. Also converts values to other types if specified.
+ * @param message AcceleratorType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.AcceleratorType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AcceleratorType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AcceleratorType
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAcceleratorTypeRequest. */
+ interface IGetAcceleratorTypeRequest {
+
+ /** GetAcceleratorTypeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAcceleratorTypeRequest. */
+ class GetAcceleratorTypeRequest implements IGetAcceleratorTypeRequest {
+
+ /**
+ * Constructs a new GetAcceleratorTypeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest);
+
+ /** GetAcceleratorTypeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAcceleratorTypeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAcceleratorTypeRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest): google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest;
+
+ /**
+ * Encodes the specified GetAcceleratorTypeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest.verify|verify} messages.
+ * @param message GetAcceleratorTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAcceleratorTypeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest.verify|verify} messages.
+ * @param message GetAcceleratorTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAcceleratorTypeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAcceleratorTypeRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GetAcceleratorTypeRequest;
+
+ /**
+ * Decodes a GetAcceleratorTypeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAcceleratorTypeRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GetAcceleratorTypeRequest;
+
+ /**
+ * Verifies a GetAcceleratorTypeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAcceleratorTypeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAcceleratorTypeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest;
+
+ /**
+ * Creates a plain object from a GetAcceleratorTypeRequest message. Also converts values to other types if specified.
+ * @param message GetAcceleratorTypeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAcceleratorTypeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAcceleratorTypeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAcceleratorTypesRequest. */
+ interface IListAcceleratorTypesRequest {
+
+ /** ListAcceleratorTypesRequest parent */
+ parent?: (string|null);
+
+ /** ListAcceleratorTypesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListAcceleratorTypesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListAcceleratorTypesRequest filter */
+ filter?: (string|null);
+
+ /** ListAcceleratorTypesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListAcceleratorTypesRequest. */
+ class ListAcceleratorTypesRequest implements IListAcceleratorTypesRequest {
+
+ /**
+ * Constructs a new ListAcceleratorTypesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest);
+
+ /** ListAcceleratorTypesRequest parent. */
+ public parent: string;
+
+ /** ListAcceleratorTypesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListAcceleratorTypesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListAcceleratorTypesRequest filter. */
+ public filter: string;
+
+ /** ListAcceleratorTypesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListAcceleratorTypesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAcceleratorTypesRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest): google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest.verify|verify} messages.
+ * @param message ListAcceleratorTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest.verify|verify} messages.
+ * @param message ListAcceleratorTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAcceleratorTypesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAcceleratorTypesRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ListAcceleratorTypesRequest;
+
+ /**
+ * Decodes a ListAcceleratorTypesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAcceleratorTypesRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ListAcceleratorTypesRequest;
+
+ /**
+ * Verifies a ListAcceleratorTypesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAcceleratorTypesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAcceleratorTypesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest;
+
+ /**
+ * Creates a plain object from a ListAcceleratorTypesRequest message. Also converts values to other types if specified.
+ * @param message ListAcceleratorTypesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAcceleratorTypesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAcceleratorTypesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAcceleratorTypesResponse. */
+ interface IListAcceleratorTypesResponse {
+
+ /** ListAcceleratorTypesResponse acceleratorTypes */
+ acceleratorTypes?: (google.cloud.tpu.v2alpha1.IAcceleratorType[]|null);
+
+ /** ListAcceleratorTypesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListAcceleratorTypesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListAcceleratorTypesResponse. */
+ class ListAcceleratorTypesResponse implements IListAcceleratorTypesResponse {
+
+ /**
+ * Constructs a new ListAcceleratorTypesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse);
+
+ /** ListAcceleratorTypesResponse acceleratorTypes. */
+ public acceleratorTypes: google.cloud.tpu.v2alpha1.IAcceleratorType[];
+
+ /** ListAcceleratorTypesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListAcceleratorTypesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListAcceleratorTypesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAcceleratorTypesResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse): google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse.verify|verify} messages.
+ * @param message ListAcceleratorTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAcceleratorTypesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse.verify|verify} messages.
+ * @param message ListAcceleratorTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAcceleratorTypesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAcceleratorTypesResponse
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ListAcceleratorTypesResponse;
+
+ /**
+ * Decodes a ListAcceleratorTypesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAcceleratorTypesResponse
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ListAcceleratorTypesResponse;
+
+ /**
+ * Verifies a ListAcceleratorTypesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAcceleratorTypesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAcceleratorTypesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse;
+
+ /**
+ * Creates a plain object from a ListAcceleratorTypesResponse message. Also converts values to other types if specified.
+ * @param message ListAcceleratorTypesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAcceleratorTypesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAcceleratorTypesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** 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 statusDetail */
+ statusDetail?: (string|null);
+
+ /** OperationMetadata cancelRequested */
+ cancelRequested?: (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.tpu.v2alpha1.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 statusDetail. */
+ public statusDetail: string;
+
+ /** OperationMetadata cancelRequested. */
+ public cancelRequested: 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.tpu.v2alpha1.IOperationMetadata): google.cloud.tpu.v2alpha1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.tpu.v2alpha1.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.tpu.v2alpha1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.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.tpu.v2alpha1.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.tpu.v2alpha1.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.tpu.v2alpha1.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.tpu.v2alpha1.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.tpu.v2alpha1.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;
+ }
+
+ /** Properties of a RuntimeVersion. */
+ interface IRuntimeVersion {
+
+ /** RuntimeVersion name */
+ name?: (string|null);
+
+ /** RuntimeVersion version */
+ version?: (string|null);
+ }
+
+ /** Represents a RuntimeVersion. */
+ class RuntimeVersion implements IRuntimeVersion {
+
+ /**
+ * Constructs a new RuntimeVersion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IRuntimeVersion);
+
+ /** RuntimeVersion name. */
+ public name: string;
+
+ /** RuntimeVersion version. */
+ public version: string;
+
+ /**
+ * Creates a new RuntimeVersion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RuntimeVersion instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IRuntimeVersion): google.cloud.tpu.v2alpha1.RuntimeVersion;
+
+ /**
+ * Encodes the specified RuntimeVersion message. Does not implicitly {@link google.cloud.tpu.v2alpha1.RuntimeVersion.verify|verify} messages.
+ * @param message RuntimeVersion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IRuntimeVersion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RuntimeVersion message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.RuntimeVersion.verify|verify} messages.
+ * @param message RuntimeVersion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IRuntimeVersion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RuntimeVersion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RuntimeVersion
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.RuntimeVersion;
+
+ /**
+ * Decodes a RuntimeVersion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RuntimeVersion
+ * @throws {Error} If the payload 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.tpu.v2alpha1.RuntimeVersion;
+
+ /**
+ * Verifies a RuntimeVersion message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RuntimeVersion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RuntimeVersion
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.RuntimeVersion;
+
+ /**
+ * Creates a plain object from a RuntimeVersion message. Also converts values to other types if specified.
+ * @param message RuntimeVersion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.RuntimeVersion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RuntimeVersion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RuntimeVersion
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetRuntimeVersionRequest. */
+ interface IGetRuntimeVersionRequest {
+
+ /** GetRuntimeVersionRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetRuntimeVersionRequest. */
+ class GetRuntimeVersionRequest implements IGetRuntimeVersionRequest {
+
+ /**
+ * Constructs a new GetRuntimeVersionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest);
+
+ /** GetRuntimeVersionRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetRuntimeVersionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetRuntimeVersionRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest): google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest;
+
+ /**
+ * Encodes the specified GetRuntimeVersionRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest.verify|verify} messages.
+ * @param message GetRuntimeVersionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetRuntimeVersionRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest.verify|verify} messages.
+ * @param message GetRuntimeVersionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetRuntimeVersionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetRuntimeVersionRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GetRuntimeVersionRequest;
+
+ /**
+ * Decodes a GetRuntimeVersionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetRuntimeVersionRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GetRuntimeVersionRequest;
+
+ /**
+ * Verifies a GetRuntimeVersionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetRuntimeVersionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetRuntimeVersionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest;
+
+ /**
+ * Creates a plain object from a GetRuntimeVersionRequest message. Also converts values to other types if specified.
+ * @param message GetRuntimeVersionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetRuntimeVersionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetRuntimeVersionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListRuntimeVersionsRequest. */
+ interface IListRuntimeVersionsRequest {
+
+ /** ListRuntimeVersionsRequest parent */
+ parent?: (string|null);
+
+ /** ListRuntimeVersionsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListRuntimeVersionsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListRuntimeVersionsRequest filter */
+ filter?: (string|null);
+
+ /** ListRuntimeVersionsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListRuntimeVersionsRequest. */
+ class ListRuntimeVersionsRequest implements IListRuntimeVersionsRequest {
+
+ /**
+ * Constructs a new ListRuntimeVersionsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest);
+
+ /** ListRuntimeVersionsRequest parent. */
+ public parent: string;
+
+ /** ListRuntimeVersionsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListRuntimeVersionsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListRuntimeVersionsRequest filter. */
+ public filter: string;
+
+ /** ListRuntimeVersionsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListRuntimeVersionsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListRuntimeVersionsRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest): google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest;
+
+ /**
+ * Encodes the specified ListRuntimeVersionsRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest.verify|verify} messages.
+ * @param message ListRuntimeVersionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListRuntimeVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest.verify|verify} messages.
+ * @param message ListRuntimeVersionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListRuntimeVersionsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListRuntimeVersionsRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ListRuntimeVersionsRequest;
+
+ /**
+ * Decodes a ListRuntimeVersionsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListRuntimeVersionsRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ListRuntimeVersionsRequest;
+
+ /**
+ * Verifies a ListRuntimeVersionsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListRuntimeVersionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListRuntimeVersionsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest;
+
+ /**
+ * Creates a plain object from a ListRuntimeVersionsRequest message. Also converts values to other types if specified.
+ * @param message ListRuntimeVersionsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListRuntimeVersionsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListRuntimeVersionsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListRuntimeVersionsResponse. */
+ interface IListRuntimeVersionsResponse {
+
+ /** ListRuntimeVersionsResponse runtimeVersions */
+ runtimeVersions?: (google.cloud.tpu.v2alpha1.IRuntimeVersion[]|null);
+
+ /** ListRuntimeVersionsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListRuntimeVersionsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListRuntimeVersionsResponse. */
+ class ListRuntimeVersionsResponse implements IListRuntimeVersionsResponse {
+
+ /**
+ * Constructs a new ListRuntimeVersionsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse);
+
+ /** ListRuntimeVersionsResponse runtimeVersions. */
+ public runtimeVersions: google.cloud.tpu.v2alpha1.IRuntimeVersion[];
+
+ /** ListRuntimeVersionsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListRuntimeVersionsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListRuntimeVersionsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListRuntimeVersionsResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse): google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse;
+
+ /**
+ * Encodes the specified ListRuntimeVersionsResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse.verify|verify} messages.
+ * @param message ListRuntimeVersionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListRuntimeVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse.verify|verify} messages.
+ * @param message ListRuntimeVersionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListRuntimeVersionsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListRuntimeVersionsResponse
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ListRuntimeVersionsResponse;
+
+ /**
+ * Decodes a ListRuntimeVersionsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListRuntimeVersionsResponse
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ListRuntimeVersionsResponse;
+
+ /**
+ * Verifies a ListRuntimeVersionsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListRuntimeVersionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListRuntimeVersionsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse;
+
+ /**
+ * Creates a plain object from a ListRuntimeVersionsResponse message. Also converts values to other types if specified.
+ * @param message ListRuntimeVersionsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListRuntimeVersionsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListRuntimeVersionsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Symptom. */
+ interface ISymptom {
+
+ /** Symptom createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Symptom symptomType */
+ symptomType?: (google.cloud.tpu.v2alpha1.Symptom.SymptomType|keyof typeof google.cloud.tpu.v2alpha1.Symptom.SymptomType|null);
+
+ /** Symptom details */
+ details?: (string|null);
+
+ /** Symptom workerId */
+ workerId?: (string|null);
+ }
+
+ /** Represents a Symptom. */
+ class Symptom implements ISymptom {
+
+ /**
+ * Constructs a new Symptom.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.ISymptom);
+
+ /** Symptom createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Symptom symptomType. */
+ public symptomType: (google.cloud.tpu.v2alpha1.Symptom.SymptomType|keyof typeof google.cloud.tpu.v2alpha1.Symptom.SymptomType);
+
+ /** Symptom details. */
+ public details: string;
+
+ /** Symptom workerId. */
+ public workerId: string;
+
+ /**
+ * Creates a new Symptom instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Symptom instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.ISymptom): google.cloud.tpu.v2alpha1.Symptom;
+
+ /**
+ * Encodes the specified Symptom message. Does not implicitly {@link google.cloud.tpu.v2alpha1.Symptom.verify|verify} messages.
+ * @param message Symptom message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.ISymptom, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Symptom message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.Symptom.verify|verify} messages.
+ * @param message Symptom message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.ISymptom, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Symptom message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Symptom
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.Symptom;
+
+ /**
+ * Decodes a Symptom message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Symptom
+ * @throws {Error} If the payload 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.tpu.v2alpha1.Symptom;
+
+ /**
+ * Verifies a Symptom message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Symptom message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Symptom
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.Symptom;
+
+ /**
+ * Creates a plain object from a Symptom message. Also converts values to other types if specified.
+ * @param message Symptom
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.Symptom, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Symptom to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Symptom
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Symptom {
+
+ /** SymptomType enum. */
+ enum SymptomType {
+ SYMPTOM_TYPE_UNSPECIFIED = 0,
+ LOW_MEMORY = 1,
+ OUT_OF_MEMORY = 2,
+ EXECUTE_TIMED_OUT = 3,
+ MESH_BUILD_FAIL = 4,
+ HBM_OUT_OF_MEMORY = 5,
+ PROJECT_ABUSE = 6
+ }
+ }
+
+ /** Properties of a GetGuestAttributesRequest. */
+ interface IGetGuestAttributesRequest {
+
+ /** GetGuestAttributesRequest name */
+ name?: (string|null);
+
+ /** GetGuestAttributesRequest queryPath */
+ queryPath?: (string|null);
+
+ /** GetGuestAttributesRequest workerIds */
+ workerIds?: (string[]|null);
+ }
+
+ /** Represents a GetGuestAttributesRequest. */
+ class GetGuestAttributesRequest implements IGetGuestAttributesRequest {
+
+ /**
+ * Constructs a new GetGuestAttributesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest);
+
+ /** GetGuestAttributesRequest name. */
+ public name: string;
+
+ /** GetGuestAttributesRequest queryPath. */
+ public queryPath: string;
+
+ /** GetGuestAttributesRequest workerIds. */
+ public workerIds: string[];
+
+ /**
+ * Creates a new GetGuestAttributesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetGuestAttributesRequest instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest): google.cloud.tpu.v2alpha1.GetGuestAttributesRequest;
+
+ /**
+ * Encodes the specified GetGuestAttributesRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesRequest.verify|verify} messages.
+ * @param message GetGuestAttributesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetGuestAttributesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesRequest.verify|verify} messages.
+ * @param message GetGuestAttributesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetGuestAttributesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetGuestAttributesRequest
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GetGuestAttributesRequest;
+
+ /**
+ * Decodes a GetGuestAttributesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetGuestAttributesRequest
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GetGuestAttributesRequest;
+
+ /**
+ * Verifies a GetGuestAttributesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetGuestAttributesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetGuestAttributesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GetGuestAttributesRequest;
+
+ /**
+ * Creates a plain object from a GetGuestAttributesRequest message. Also converts values to other types if specified.
+ * @param message GetGuestAttributesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GetGuestAttributesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetGuestAttributesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetGuestAttributesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetGuestAttributesResponse. */
+ interface IGetGuestAttributesResponse {
+
+ /** GetGuestAttributesResponse guestAttributes */
+ guestAttributes?: (google.cloud.tpu.v2alpha1.IGuestAttributes[]|null);
+ }
+
+ /** Represents a GetGuestAttributesResponse. */
+ class GetGuestAttributesResponse implements IGetGuestAttributesResponse {
+
+ /**
+ * Constructs a new GetGuestAttributesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse);
+
+ /** GetGuestAttributesResponse guestAttributes. */
+ public guestAttributes: google.cloud.tpu.v2alpha1.IGuestAttributes[];
+
+ /**
+ * Creates a new GetGuestAttributesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetGuestAttributesResponse instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse): google.cloud.tpu.v2alpha1.GetGuestAttributesResponse;
+
+ /**
+ * Encodes the specified GetGuestAttributesResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesResponse.verify|verify} messages.
+ * @param message GetGuestAttributesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetGuestAttributesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesResponse.verify|verify} messages.
+ * @param message GetGuestAttributesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetGuestAttributesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetGuestAttributesResponse
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.GetGuestAttributesResponse;
+
+ /**
+ * Decodes a GetGuestAttributesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetGuestAttributesResponse
+ * @throws {Error} If the payload 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.tpu.v2alpha1.GetGuestAttributesResponse;
+
+ /**
+ * Verifies a GetGuestAttributesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetGuestAttributesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetGuestAttributesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.GetGuestAttributesResponse;
+
+ /**
+ * Creates a plain object from a GetGuestAttributesResponse message. Also converts values to other types if specified.
+ * @param message GetGuestAttributesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.GetGuestAttributesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetGuestAttributesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetGuestAttributesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ShieldedInstanceConfig. */
+ interface IShieldedInstanceConfig {
+
+ /** ShieldedInstanceConfig enableSecureBoot */
+ enableSecureBoot?: (boolean|null);
+ }
+
+ /** Represents a ShieldedInstanceConfig. */
+ class ShieldedInstanceConfig implements IShieldedInstanceConfig {
+
+ /**
+ * Constructs a new ShieldedInstanceConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.tpu.v2alpha1.IShieldedInstanceConfig);
+
+ /** ShieldedInstanceConfig enableSecureBoot. */
+ public enableSecureBoot: boolean;
+
+ /**
+ * Creates a new ShieldedInstanceConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ShieldedInstanceConfig instance
+ */
+ public static create(properties?: google.cloud.tpu.v2alpha1.IShieldedInstanceConfig): google.cloud.tpu.v2alpha1.ShieldedInstanceConfig;
+
+ /**
+ * Encodes the specified ShieldedInstanceConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.verify|verify} messages.
+ * @param message ShieldedInstanceConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.tpu.v2alpha1.IShieldedInstanceConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ShieldedInstanceConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.verify|verify} messages.
+ * @param message ShieldedInstanceConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.tpu.v2alpha1.IShieldedInstanceConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ShieldedInstanceConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ShieldedInstanceConfig
+ * @throws {Error} If the payload is not 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.tpu.v2alpha1.ShieldedInstanceConfig;
+
+ /**
+ * Decodes a ShieldedInstanceConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ShieldedInstanceConfig
+ * @throws {Error} If the payload 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.tpu.v2alpha1.ShieldedInstanceConfig;
+
+ /**
+ * Verifies a ShieldedInstanceConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ShieldedInstanceConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ShieldedInstanceConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.tpu.v2alpha1.ShieldedInstanceConfig;
+
+ /**
+ * Creates a plain object from a ShieldedInstanceConfig message. Also converts values to other types if specified.
+ * @param message ShieldedInstanceConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.tpu.v2alpha1.ShieldedInstanceConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ShieldedInstanceConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ShieldedInstanceConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** 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;
+ }
+ }
+
+ /** 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 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 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 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-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js
new file mode 100644
index 00000000000..fcfa3ce6e6e
--- /dev/null
+++ b/packages/google-cloud-tpu/protos/protos.js
@@ -0,0 +1,30647 @@
+// 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_tpu_protos || ($protobuf.roots._google_cloud_tpu_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.tpu = (function() {
+
+ /**
+ * Namespace tpu.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var tpu = {};
+
+ tpu.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.tpu
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.Tpu = (function() {
+
+ /**
+ * Constructs a new Tpu service.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a Tpu
+ * @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 Tpu(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (Tpu.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Tpu;
+
+ /**
+ * Creates new Tpu service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @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 {Tpu} RPC service. Useful where requests and/or responses are streamed.
+ */
+ Tpu.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|listNodes}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef ListNodesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v1.ListNodesResponse} [response] ListNodesResponse
+ */
+
+ /**
+ * Calls ListNodes.
+ * @function listNodes
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IListNodesRequest} request ListNodesRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.ListNodesCallback} callback Node-style callback called with the error, if any, and ListNodesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.listNodes = function listNodes(request, callback) {
+ return this.rpcCall(listNodes, $root.google.cloud.tpu.v1.ListNodesRequest, $root.google.cloud.tpu.v1.ListNodesResponse, request, callback);
+ }, "name", { value: "ListNodes" });
+
+ /**
+ * Calls ListNodes.
+ * @function listNodes
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IListNodesRequest} request ListNodesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|getNode}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef GetNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v1.Node} [response] Node
+ */
+
+ /**
+ * Calls GetNode.
+ * @function getNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IGetNodeRequest} request GetNodeRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.GetNodeCallback} callback Node-style callback called with the error, if any, and Node
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.getNode = function getNode(request, callback) {
+ return this.rpcCall(getNode, $root.google.cloud.tpu.v1.GetNodeRequest, $root.google.cloud.tpu.v1.Node, request, callback);
+ }, "name", { value: "GetNode" });
+
+ /**
+ * Calls GetNode.
+ * @function getNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IGetNodeRequest} request GetNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|createNode}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef CreateNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateNode.
+ * @function createNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.ICreateNodeRequest} request CreateNodeRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.CreateNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.createNode = function createNode(request, callback) {
+ return this.rpcCall(createNode, $root.google.cloud.tpu.v1.CreateNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateNode" });
+
+ /**
+ * Calls CreateNode.
+ * @function createNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.ICreateNodeRequest} request CreateNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|deleteNode}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef DeleteNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteNode.
+ * @function deleteNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IDeleteNodeRequest} request DeleteNodeRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.DeleteNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.deleteNode = function deleteNode(request, callback) {
+ return this.rpcCall(deleteNode, $root.google.cloud.tpu.v1.DeleteNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteNode" });
+
+ /**
+ * Calls DeleteNode.
+ * @function deleteNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IDeleteNodeRequest} request DeleteNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|reimageNode}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef ReimageNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ReimageNode.
+ * @function reimageNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IReimageNodeRequest} request ReimageNodeRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.ReimageNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.reimageNode = function reimageNode(request, callback) {
+ return this.rpcCall(reimageNode, $root.google.cloud.tpu.v1.ReimageNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ReimageNode" });
+
+ /**
+ * Calls ReimageNode.
+ * @function reimageNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IReimageNodeRequest} request ReimageNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|stopNode}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef StopNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls StopNode.
+ * @function stopNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IStopNodeRequest} request StopNodeRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.StopNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.stopNode = function stopNode(request, callback) {
+ return this.rpcCall(stopNode, $root.google.cloud.tpu.v1.StopNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "StopNode" });
+
+ /**
+ * Calls StopNode.
+ * @function stopNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IStopNodeRequest} request StopNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|startNode}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef StartNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls StartNode.
+ * @function startNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IStartNodeRequest} request StartNodeRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.StartNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.startNode = function startNode(request, callback) {
+ return this.rpcCall(startNode, $root.google.cloud.tpu.v1.StartNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "StartNode" });
+
+ /**
+ * Calls StartNode.
+ * @function startNode
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IStartNodeRequest} request StartNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|listTensorFlowVersions}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef ListTensorFlowVersionsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v1.ListTensorFlowVersionsResponse} [response] ListTensorFlowVersionsResponse
+ */
+
+ /**
+ * Calls ListTensorFlowVersions.
+ * @function listTensorFlowVersions
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest} request ListTensorFlowVersionsRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.ListTensorFlowVersionsCallback} callback Node-style callback called with the error, if any, and ListTensorFlowVersionsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.listTensorFlowVersions = function listTensorFlowVersions(request, callback) {
+ return this.rpcCall(listTensorFlowVersions, $root.google.cloud.tpu.v1.ListTensorFlowVersionsRequest, $root.google.cloud.tpu.v1.ListTensorFlowVersionsResponse, request, callback);
+ }, "name", { value: "ListTensorFlowVersions" });
+
+ /**
+ * Calls ListTensorFlowVersions.
+ * @function listTensorFlowVersions
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest} request ListTensorFlowVersionsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|getTensorFlowVersion}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef GetTensorFlowVersionCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v1.TensorFlowVersion} [response] TensorFlowVersion
+ */
+
+ /**
+ * Calls GetTensorFlowVersion.
+ * @function getTensorFlowVersion
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest} request GetTensorFlowVersionRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.GetTensorFlowVersionCallback} callback Node-style callback called with the error, if any, and TensorFlowVersion
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.getTensorFlowVersion = function getTensorFlowVersion(request, callback) {
+ return this.rpcCall(getTensorFlowVersion, $root.google.cloud.tpu.v1.GetTensorFlowVersionRequest, $root.google.cloud.tpu.v1.TensorFlowVersion, request, callback);
+ }, "name", { value: "GetTensorFlowVersion" });
+
+ /**
+ * Calls GetTensorFlowVersion.
+ * @function getTensorFlowVersion
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest} request GetTensorFlowVersionRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|listAcceleratorTypes}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef ListAcceleratorTypesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v1.ListAcceleratorTypesResponse} [response] ListAcceleratorTypesResponse
+ */
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @function listAcceleratorTypes
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest} request ListAcceleratorTypesRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.ListAcceleratorTypesCallback} callback Node-style callback called with the error, if any, and ListAcceleratorTypesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.listAcceleratorTypes = function listAcceleratorTypes(request, callback) {
+ return this.rpcCall(listAcceleratorTypes, $root.google.cloud.tpu.v1.ListAcceleratorTypesRequest, $root.google.cloud.tpu.v1.ListAcceleratorTypesResponse, request, callback);
+ }, "name", { value: "ListAcceleratorTypes" });
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @function listAcceleratorTypes
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest} request ListAcceleratorTypesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v1.Tpu|getAcceleratorType}.
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @typedef GetAcceleratorTypeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v1.AcceleratorType} [response] AcceleratorType
+ */
+
+ /**
+ * Calls GetAcceleratorType.
+ * @function getAcceleratorType
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest} request GetAcceleratorTypeRequest message or plain object
+ * @param {google.cloud.tpu.v1.Tpu.GetAcceleratorTypeCallback} callback Node-style callback called with the error, if any, and AcceleratorType
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.getAcceleratorType = function getAcceleratorType(request, callback) {
+ return this.rpcCall(getAcceleratorType, $root.google.cloud.tpu.v1.GetAcceleratorTypeRequest, $root.google.cloud.tpu.v1.AcceleratorType, request, callback);
+ }, "name", { value: "GetAcceleratorType" });
+
+ /**
+ * Calls GetAcceleratorType.
+ * @function getAcceleratorType
+ * @memberof google.cloud.tpu.v1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest} request GetAcceleratorTypeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return Tpu;
+ })();
+
+ v1.SchedulingConfig = (function() {
+
+ /**
+ * Properties of a SchedulingConfig.
+ * @memberof google.cloud.tpu.v1
+ * @interface ISchedulingConfig
+ * @property {boolean|null} [preemptible] SchedulingConfig preemptible
+ * @property {boolean|null} [reserved] SchedulingConfig reserved
+ */
+
+ /**
+ * Constructs a new SchedulingConfig.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a SchedulingConfig.
+ * @implements ISchedulingConfig
+ * @constructor
+ * @param {google.cloud.tpu.v1.ISchedulingConfig=} [properties] Properties to set
+ */
+ function SchedulingConfig(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]];
+ }
+
+ /**
+ * SchedulingConfig preemptible.
+ * @member {boolean} preemptible
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @instance
+ */
+ SchedulingConfig.prototype.preemptible = false;
+
+ /**
+ * SchedulingConfig reserved.
+ * @member {boolean} reserved
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @instance
+ */
+ SchedulingConfig.prototype.reserved = false;
+
+ /**
+ * Creates a new SchedulingConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v1.ISchedulingConfig=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig instance
+ */
+ SchedulingConfig.create = function create(properties) {
+ return new SchedulingConfig(properties);
+ };
+
+ /**
+ * Encodes the specified SchedulingConfig message. Does not implicitly {@link google.cloud.tpu.v1.SchedulingConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v1.ISchedulingConfig} message SchedulingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchedulingConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.preemptible != null && Object.hasOwnProperty.call(message, "preemptible"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.preemptible);
+ if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.reserved);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SchedulingConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.SchedulingConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v1.ISchedulingConfig} message SchedulingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchedulingConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchedulingConfig.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.tpu.v1.SchedulingConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.preemptible = reader.bool();
+ break;
+ }
+ case 2: {
+ message.reserved = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchedulingConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SchedulingConfig message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SchedulingConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.preemptible != null && message.hasOwnProperty("preemptible"))
+ if (typeof message.preemptible !== "boolean")
+ return "preemptible: boolean expected";
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
+ if (typeof message.reserved !== "boolean")
+ return "reserved: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a SchedulingConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.SchedulingConfig} SchedulingConfig
+ */
+ SchedulingConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.SchedulingConfig)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.SchedulingConfig();
+ if (object.preemptible != null)
+ message.preemptible = Boolean(object.preemptible);
+ if (object.reserved != null)
+ message.reserved = Boolean(object.reserved);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SchedulingConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v1.SchedulingConfig} message SchedulingConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SchedulingConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.preemptible = false;
+ object.reserved = false;
+ }
+ if (message.preemptible != null && message.hasOwnProperty("preemptible"))
+ object.preemptible = message.preemptible;
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
+ object.reserved = message.reserved;
+ return object;
+ };
+
+ /**
+ * Converts this SchedulingConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SchedulingConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SchedulingConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.SchedulingConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SchedulingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.SchedulingConfig";
+ };
+
+ return SchedulingConfig;
+ })();
+
+ v1.NetworkEndpoint = (function() {
+
+ /**
+ * Properties of a NetworkEndpoint.
+ * @memberof google.cloud.tpu.v1
+ * @interface INetworkEndpoint
+ * @property {string|null} [ipAddress] NetworkEndpoint ipAddress
+ * @property {number|null} [port] NetworkEndpoint port
+ */
+
+ /**
+ * Constructs a new NetworkEndpoint.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a NetworkEndpoint.
+ * @implements INetworkEndpoint
+ * @constructor
+ * @param {google.cloud.tpu.v1.INetworkEndpoint=} [properties] Properties to set
+ */
+ function NetworkEndpoint(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]];
+ }
+
+ /**
+ * NetworkEndpoint ipAddress.
+ * @member {string} ipAddress
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @instance
+ */
+ NetworkEndpoint.prototype.ipAddress = "";
+
+ /**
+ * NetworkEndpoint port.
+ * @member {number} port
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @instance
+ */
+ NetworkEndpoint.prototype.port = 0;
+
+ /**
+ * Creates a new NetworkEndpoint instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v1.INetworkEndpoint=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint instance
+ */
+ NetworkEndpoint.create = function create(properties) {
+ return new NetworkEndpoint(properties);
+ };
+
+ /**
+ * Encodes the specified NetworkEndpoint message. Does not implicitly {@link google.cloud.tpu.v1.NetworkEndpoint.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v1.INetworkEndpoint} message NetworkEndpoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NetworkEndpoint.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.ipAddress);
+ if (message.port != null && Object.hasOwnProperty.call(message, "port"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.port);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NetworkEndpoint message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.NetworkEndpoint.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v1.INetworkEndpoint} message NetworkEndpoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NetworkEndpoint.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NetworkEndpoint.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.tpu.v1.NetworkEndpoint();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.ipAddress = reader.string();
+ break;
+ }
+ case 2: {
+ message.port = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NetworkEndpoint.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NetworkEndpoint message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NetworkEndpoint.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ if (!$util.isString(message.ipAddress))
+ return "ipAddress: string expected";
+ if (message.port != null && message.hasOwnProperty("port"))
+ if (!$util.isInteger(message.port))
+ return "port: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a NetworkEndpoint message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.NetworkEndpoint} NetworkEndpoint
+ */
+ NetworkEndpoint.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.NetworkEndpoint)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.NetworkEndpoint();
+ if (object.ipAddress != null)
+ message.ipAddress = String(object.ipAddress);
+ if (object.port != null)
+ message.port = object.port | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NetworkEndpoint message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v1.NetworkEndpoint} message NetworkEndpoint
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NetworkEndpoint.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.ipAddress = "";
+ object.port = 0;
+ }
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ object.ipAddress = message.ipAddress;
+ if (message.port != null && message.hasOwnProperty("port"))
+ object.port = message.port;
+ return object;
+ };
+
+ /**
+ * Converts this NetworkEndpoint to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NetworkEndpoint.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NetworkEndpoint
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.NetworkEndpoint
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NetworkEndpoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.NetworkEndpoint";
+ };
+
+ return NetworkEndpoint;
+ })();
+
+ v1.Node = (function() {
+
+ /**
+ * Properties of a Node.
+ * @memberof google.cloud.tpu.v1
+ * @interface INode
+ * @property {string|null} [name] Node name
+ * @property {string|null} [description] Node description
+ * @property {string|null} [acceleratorType] Node acceleratorType
+ * @property {string|null} [ipAddress] Node ipAddress
+ * @property {string|null} [port] Node port
+ * @property {google.cloud.tpu.v1.Node.State|null} [state] Node state
+ * @property {string|null} [healthDescription] Node healthDescription
+ * @property {string|null} [tensorflowVersion] Node tensorflowVersion
+ * @property {string|null} [network] Node network
+ * @property {string|null} [cidrBlock] Node cidrBlock
+ * @property {string|null} [serviceAccount] Node serviceAccount
+ * @property {google.protobuf.ITimestamp|null} [createTime] Node createTime
+ * @property {google.cloud.tpu.v1.ISchedulingConfig|null} [schedulingConfig] Node schedulingConfig
+ * @property {Array.|null} [networkEndpoints] Node networkEndpoints
+ * @property {google.cloud.tpu.v1.Node.Health|null} [health] Node health
+ * @property {Object.|null} [labels] Node labels
+ * @property {boolean|null} [useServiceNetworking] Node useServiceNetworking
+ * @property {google.cloud.tpu.v1.Node.ApiVersion|null} [apiVersion] Node apiVersion
+ * @property {Array.|null} [symptoms] Node symptoms
+ */
+
+ /**
+ * Constructs a new Node.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a Node.
+ * @implements INode
+ * @constructor
+ * @param {google.cloud.tpu.v1.INode=} [properties] Properties to set
+ */
+ function Node(properties) {
+ this.networkEndpoints = [];
+ this.labels = {};
+ this.symptoms = [];
+ 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]];
+ }
+
+ /**
+ * Node name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.name = "";
+
+ /**
+ * Node description.
+ * @member {string} description
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.description = "";
+
+ /**
+ * Node acceleratorType.
+ * @member {string} acceleratorType
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.acceleratorType = "";
+
+ /**
+ * Node ipAddress.
+ * @member {string} ipAddress
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.ipAddress = "";
+
+ /**
+ * Node port.
+ * @member {string} port
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.port = "";
+
+ /**
+ * Node state.
+ * @member {google.cloud.tpu.v1.Node.State} state
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.state = 0;
+
+ /**
+ * Node healthDescription.
+ * @member {string} healthDescription
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.healthDescription = "";
+
+ /**
+ * Node tensorflowVersion.
+ * @member {string} tensorflowVersion
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.tensorflowVersion = "";
+
+ /**
+ * Node network.
+ * @member {string} network
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.network = "";
+
+ /**
+ * Node cidrBlock.
+ * @member {string} cidrBlock
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.cidrBlock = "";
+
+ /**
+ * Node serviceAccount.
+ * @member {string} serviceAccount
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.serviceAccount = "";
+
+ /**
+ * Node createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.createTime = null;
+
+ /**
+ * Node schedulingConfig.
+ * @member {google.cloud.tpu.v1.ISchedulingConfig|null|undefined} schedulingConfig
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.schedulingConfig = null;
+
+ /**
+ * Node networkEndpoints.
+ * @member {Array.} networkEndpoints
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.networkEndpoints = $util.emptyArray;
+
+ /**
+ * Node health.
+ * @member {google.cloud.tpu.v1.Node.Health} health
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.health = 0;
+
+ /**
+ * Node labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.labels = $util.emptyObject;
+
+ /**
+ * Node useServiceNetworking.
+ * @member {boolean} useServiceNetworking
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.useServiceNetworking = false;
+
+ /**
+ * Node apiVersion.
+ * @member {google.cloud.tpu.v1.Node.ApiVersion} apiVersion
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.apiVersion = 0;
+
+ /**
+ * Node symptoms.
+ * @member {Array.} symptoms
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ */
+ Node.prototype.symptoms = $util.emptyArray;
+
+ /**
+ * Creates a new Node instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {google.cloud.tpu.v1.INode=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.Node} Node instance
+ */
+ Node.create = function create(properties) {
+ return new Node(properties);
+ };
+
+ /**
+ * Encodes the specified Node message. Does not implicitly {@link google.cloud.tpu.v1.Node.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {google.cloud.tpu.v1.INode} message Node message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Node.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.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.description);
+ if (message.acceleratorType != null && Object.hasOwnProperty.call(message, "acceleratorType"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.acceleratorType);
+ if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.ipAddress);
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.state);
+ if (message.healthDescription != null && Object.hasOwnProperty.call(message, "healthDescription"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.healthDescription);
+ if (message.tensorflowVersion != null && Object.hasOwnProperty.call(message, "tensorflowVersion"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.tensorflowVersion);
+ if (message.network != null && Object.hasOwnProperty.call(message, "network"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.network);
+ if (message.cidrBlock != null && Object.hasOwnProperty.call(message, "cidrBlock"))
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.cidrBlock);
+ if (message.port != null && Object.hasOwnProperty.call(message, "port"))
+ writer.uint32(/* id 14, wireType 2 =*/114).string(message.port);
+ if (message.serviceAccount != null && Object.hasOwnProperty.call(message, "serviceAccount"))
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.serviceAccount);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
+ if (message.schedulingConfig != null && Object.hasOwnProperty.call(message, "schedulingConfig"))
+ $root.google.cloud.tpu.v1.SchedulingConfig.encode(message.schedulingConfig, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();
+ if (message.networkEndpoints != null && message.networkEndpoints.length)
+ for (var i = 0; i < message.networkEndpoints.length; ++i)
+ $root.google.cloud.tpu.v1.NetworkEndpoint.encode(message.networkEndpoints[i], writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+ if (message.health != null && Object.hasOwnProperty.call(message, "health"))
+ writer.uint32(/* id 22, wireType 0 =*/176).int32(message.health);
+ 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 24, wireType 2 =*/194).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.useServiceNetworking != null && Object.hasOwnProperty.call(message, "useServiceNetworking"))
+ writer.uint32(/* id 27, wireType 0 =*/216).bool(message.useServiceNetworking);
+ if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion"))
+ writer.uint32(/* id 38, wireType 0 =*/304).int32(message.apiVersion);
+ if (message.symptoms != null && message.symptoms.length)
+ for (var i = 0; i < message.symptoms.length; ++i)
+ $root.google.cloud.tpu.v1.Symptom.encode(message.symptoms[i], writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Node message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.Node.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {google.cloud.tpu.v1.INode} message Node message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Node.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Node message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.Node} Node
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Node.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.tpu.v1.Node(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.description = reader.string();
+ break;
+ }
+ case 5: {
+ message.acceleratorType = reader.string();
+ break;
+ }
+ case 8: {
+ message.ipAddress = reader.string();
+ break;
+ }
+ case 14: {
+ message.port = reader.string();
+ break;
+ }
+ case 9: {
+ message.state = reader.int32();
+ break;
+ }
+ case 10: {
+ message.healthDescription = reader.string();
+ break;
+ }
+ case 11: {
+ message.tensorflowVersion = reader.string();
+ break;
+ }
+ case 12: {
+ message.network = reader.string();
+ break;
+ }
+ case 13: {
+ message.cidrBlock = reader.string();
+ break;
+ }
+ case 15: {
+ message.serviceAccount = reader.string();
+ break;
+ }
+ case 16: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 17: {
+ message.schedulingConfig = $root.google.cloud.tpu.v1.SchedulingConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 21: {
+ if (!(message.networkEndpoints && message.networkEndpoints.length))
+ message.networkEndpoints = [];
+ message.networkEndpoints.push($root.google.cloud.tpu.v1.NetworkEndpoint.decode(reader, reader.uint32()));
+ break;
+ }
+ case 22: {
+ message.health = reader.int32();
+ break;
+ }
+ case 24: {
+ 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 27: {
+ message.useServiceNetworking = reader.bool();
+ break;
+ }
+ case 38: {
+ message.apiVersion = reader.int32();
+ break;
+ }
+ case 39: {
+ if (!(message.symptoms && message.symptoms.length))
+ message.symptoms = [];
+ message.symptoms.push($root.google.cloud.tpu.v1.Symptom.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Node message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.Node} Node
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Node.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Node message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Node.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.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.acceleratorType != null && message.hasOwnProperty("acceleratorType"))
+ if (!$util.isString(message.acceleratorType))
+ return "acceleratorType: string expected";
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ if (!$util.isString(message.ipAddress))
+ return "ipAddress: string expected";
+ if (message.port != null && message.hasOwnProperty("port"))
+ if (!$util.isString(message.port))
+ return "port: 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 4:
+ case 5:
+ case 6:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ break;
+ }
+ if (message.healthDescription != null && message.hasOwnProperty("healthDescription"))
+ if (!$util.isString(message.healthDescription))
+ return "healthDescription: string expected";
+ if (message.tensorflowVersion != null && message.hasOwnProperty("tensorflowVersion"))
+ if (!$util.isString(message.tensorflowVersion))
+ return "tensorflowVersion: string expected";
+ if (message.network != null && message.hasOwnProperty("network"))
+ if (!$util.isString(message.network))
+ return "network: string expected";
+ if (message.cidrBlock != null && message.hasOwnProperty("cidrBlock"))
+ if (!$util.isString(message.cidrBlock))
+ return "cidrBlock: string expected";
+ if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount"))
+ if (!$util.isString(message.serviceAccount))
+ return "serviceAccount: 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.schedulingConfig != null && message.hasOwnProperty("schedulingConfig")) {
+ var error = $root.google.cloud.tpu.v1.SchedulingConfig.verify(message.schedulingConfig);
+ if (error)
+ return "schedulingConfig." + error;
+ }
+ if (message.networkEndpoints != null && message.hasOwnProperty("networkEndpoints")) {
+ if (!Array.isArray(message.networkEndpoints))
+ return "networkEndpoints: array expected";
+ for (var i = 0; i < message.networkEndpoints.length; ++i) {
+ var error = $root.google.cloud.tpu.v1.NetworkEndpoint.verify(message.networkEndpoints[i]);
+ if (error)
+ return "networkEndpoints." + error;
+ }
+ }
+ if (message.health != null && message.hasOwnProperty("health"))
+ switch (message.health) {
+ default:
+ return "health: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ 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.useServiceNetworking != null && message.hasOwnProperty("useServiceNetworking"))
+ if (typeof message.useServiceNetworking !== "boolean")
+ return "useServiceNetworking: boolean expected";
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ switch (message.apiVersion) {
+ default:
+ return "apiVersion: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.symptoms != null && message.hasOwnProperty("symptoms")) {
+ if (!Array.isArray(message.symptoms))
+ return "symptoms: array expected";
+ for (var i = 0; i < message.symptoms.length; ++i) {
+ var error = $root.google.cloud.tpu.v1.Symptom.verify(message.symptoms[i]);
+ if (error)
+ return "symptoms." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Node message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.Node} Node
+ */
+ Node.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.Node)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.Node();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.acceleratorType != null)
+ message.acceleratorType = String(object.acceleratorType);
+ if (object.ipAddress != null)
+ message.ipAddress = String(object.ipAddress);
+ if (object.port != null)
+ message.port = String(object.port);
+ 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 "READY":
+ case 2:
+ message.state = 2;
+ break;
+ case "RESTARTING":
+ case 3:
+ message.state = 3;
+ break;
+ case "REIMAGING":
+ case 4:
+ message.state = 4;
+ break;
+ case "DELETING":
+ case 5:
+ message.state = 5;
+ break;
+ case "REPAIRING":
+ case 6:
+ message.state = 6;
+ break;
+ case "STOPPED":
+ case 8:
+ message.state = 8;
+ break;
+ case "STOPPING":
+ case 9:
+ message.state = 9;
+ break;
+ case "STARTING":
+ case 10:
+ message.state = 10;
+ break;
+ case "PREEMPTED":
+ case 11:
+ message.state = 11;
+ break;
+ case "TERMINATED":
+ case 12:
+ message.state = 12;
+ break;
+ case "HIDING":
+ case 13:
+ message.state = 13;
+ break;
+ case "HIDDEN":
+ case 14:
+ message.state = 14;
+ break;
+ case "UNHIDING":
+ case 15:
+ message.state = 15;
+ break;
+ }
+ if (object.healthDescription != null)
+ message.healthDescription = String(object.healthDescription);
+ if (object.tensorflowVersion != null)
+ message.tensorflowVersion = String(object.tensorflowVersion);
+ if (object.network != null)
+ message.network = String(object.network);
+ if (object.cidrBlock != null)
+ message.cidrBlock = String(object.cidrBlock);
+ if (object.serviceAccount != null)
+ message.serviceAccount = String(object.serviceAccount);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.tpu.v1.Node.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.schedulingConfig != null) {
+ if (typeof object.schedulingConfig !== "object")
+ throw TypeError(".google.cloud.tpu.v1.Node.schedulingConfig: object expected");
+ message.schedulingConfig = $root.google.cloud.tpu.v1.SchedulingConfig.fromObject(object.schedulingConfig);
+ }
+ if (object.networkEndpoints) {
+ if (!Array.isArray(object.networkEndpoints))
+ throw TypeError(".google.cloud.tpu.v1.Node.networkEndpoints: array expected");
+ message.networkEndpoints = [];
+ for (var i = 0; i < object.networkEndpoints.length; ++i) {
+ if (typeof object.networkEndpoints[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v1.Node.networkEndpoints: object expected");
+ message.networkEndpoints[i] = $root.google.cloud.tpu.v1.NetworkEndpoint.fromObject(object.networkEndpoints[i]);
+ }
+ }
+ switch (object.health) {
+ default:
+ if (typeof object.health === "number") {
+ message.health = object.health;
+ break;
+ }
+ break;
+ case "HEALTH_UNSPECIFIED":
+ case 0:
+ message.health = 0;
+ break;
+ case "HEALTHY":
+ case 1:
+ message.health = 1;
+ break;
+ case "DEPRECATED_UNHEALTHY":
+ case 2:
+ message.health = 2;
+ break;
+ case "TIMEOUT":
+ case 3:
+ message.health = 3;
+ break;
+ case "UNHEALTHY_TENSORFLOW":
+ case 4:
+ message.health = 4;
+ break;
+ case "UNHEALTHY_MAINTENANCE":
+ case 5:
+ message.health = 5;
+ break;
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.tpu.v1.Node.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.useServiceNetworking != null)
+ message.useServiceNetworking = Boolean(object.useServiceNetworking);
+ switch (object.apiVersion) {
+ default:
+ if (typeof object.apiVersion === "number") {
+ message.apiVersion = object.apiVersion;
+ break;
+ }
+ break;
+ case "API_VERSION_UNSPECIFIED":
+ case 0:
+ message.apiVersion = 0;
+ break;
+ case "V1_ALPHA1":
+ case 1:
+ message.apiVersion = 1;
+ break;
+ case "V1":
+ case 2:
+ message.apiVersion = 2;
+ break;
+ case "V2_ALPHA1":
+ case 3:
+ message.apiVersion = 3;
+ break;
+ }
+ if (object.symptoms) {
+ if (!Array.isArray(object.symptoms))
+ throw TypeError(".google.cloud.tpu.v1.Node.symptoms: array expected");
+ message.symptoms = [];
+ for (var i = 0; i < object.symptoms.length; ++i) {
+ if (typeof object.symptoms[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v1.Node.symptoms: object expected");
+ message.symptoms[i] = $root.google.cloud.tpu.v1.Symptom.fromObject(object.symptoms[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Node message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {google.cloud.tpu.v1.Node} message Node
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Node.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.networkEndpoints = [];
+ object.symptoms = [];
+ }
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.description = "";
+ object.acceleratorType = "";
+ object.ipAddress = "";
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.healthDescription = "";
+ object.tensorflowVersion = "";
+ object.network = "";
+ object.cidrBlock = "";
+ object.port = "";
+ object.serviceAccount = "";
+ object.createTime = null;
+ object.schedulingConfig = null;
+ object.health = options.enums === String ? "HEALTH_UNSPECIFIED" : 0;
+ object.useServiceNetworking = false;
+ object.apiVersion = options.enums === String ? "API_VERSION_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.acceleratorType != null && message.hasOwnProperty("acceleratorType"))
+ object.acceleratorType = message.acceleratorType;
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ object.ipAddress = message.ipAddress;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.tpu.v1.Node.State[message.state] === undefined ? message.state : $root.google.cloud.tpu.v1.Node.State[message.state] : message.state;
+ if (message.healthDescription != null && message.hasOwnProperty("healthDescription"))
+ object.healthDescription = message.healthDescription;
+ if (message.tensorflowVersion != null && message.hasOwnProperty("tensorflowVersion"))
+ object.tensorflowVersion = message.tensorflowVersion;
+ if (message.network != null && message.hasOwnProperty("network"))
+ object.network = message.network;
+ if (message.cidrBlock != null && message.hasOwnProperty("cidrBlock"))
+ object.cidrBlock = message.cidrBlock;
+ if (message.port != null && message.hasOwnProperty("port"))
+ object.port = message.port;
+ if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount"))
+ object.serviceAccount = message.serviceAccount;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.schedulingConfig != null && message.hasOwnProperty("schedulingConfig"))
+ object.schedulingConfig = $root.google.cloud.tpu.v1.SchedulingConfig.toObject(message.schedulingConfig, options);
+ if (message.networkEndpoints && message.networkEndpoints.length) {
+ object.networkEndpoints = [];
+ for (var j = 0; j < message.networkEndpoints.length; ++j)
+ object.networkEndpoints[j] = $root.google.cloud.tpu.v1.NetworkEndpoint.toObject(message.networkEndpoints[j], options);
+ }
+ if (message.health != null && message.hasOwnProperty("health"))
+ object.health = options.enums === String ? $root.google.cloud.tpu.v1.Node.Health[message.health] === undefined ? message.health : $root.google.cloud.tpu.v1.Node.Health[message.health] : message.health;
+ 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.useServiceNetworking != null && message.hasOwnProperty("useServiceNetworking"))
+ object.useServiceNetworking = message.useServiceNetworking;
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ object.apiVersion = options.enums === String ? $root.google.cloud.tpu.v1.Node.ApiVersion[message.apiVersion] === undefined ? message.apiVersion : $root.google.cloud.tpu.v1.Node.ApiVersion[message.apiVersion] : message.apiVersion;
+ if (message.symptoms && message.symptoms.length) {
+ object.symptoms = [];
+ for (var j = 0; j < message.symptoms.length; ++j)
+ object.symptoms[j] = $root.google.cloud.tpu.v1.Symptom.toObject(message.symptoms[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Node to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.Node
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Node.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Node
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.Node
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Node.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.Node";
+ };
+
+ /**
+ * State enum.
+ * @name google.cloud.tpu.v1.Node.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} CREATING=1 CREATING value
+ * @property {number} READY=2 READY value
+ * @property {number} RESTARTING=3 RESTARTING value
+ * @property {number} REIMAGING=4 REIMAGING value
+ * @property {number} DELETING=5 DELETING value
+ * @property {number} REPAIRING=6 REPAIRING value
+ * @property {number} STOPPED=8 STOPPED value
+ * @property {number} STOPPING=9 STOPPING value
+ * @property {number} STARTING=10 STARTING value
+ * @property {number} PREEMPTED=11 PREEMPTED value
+ * @property {number} TERMINATED=12 TERMINATED value
+ * @property {number} HIDING=13 HIDING value
+ * @property {number} HIDDEN=14 HIDDEN value
+ * @property {number} UNHIDING=15 UNHIDING value
+ */
+ Node.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CREATING"] = 1;
+ values[valuesById[2] = "READY"] = 2;
+ values[valuesById[3] = "RESTARTING"] = 3;
+ values[valuesById[4] = "REIMAGING"] = 4;
+ values[valuesById[5] = "DELETING"] = 5;
+ values[valuesById[6] = "REPAIRING"] = 6;
+ values[valuesById[8] = "STOPPED"] = 8;
+ values[valuesById[9] = "STOPPING"] = 9;
+ values[valuesById[10] = "STARTING"] = 10;
+ values[valuesById[11] = "PREEMPTED"] = 11;
+ values[valuesById[12] = "TERMINATED"] = 12;
+ values[valuesById[13] = "HIDING"] = 13;
+ values[valuesById[14] = "HIDDEN"] = 14;
+ values[valuesById[15] = "UNHIDING"] = 15;
+ return values;
+ })();
+
+ /**
+ * Health enum.
+ * @name google.cloud.tpu.v1.Node.Health
+ * @enum {number}
+ * @property {number} HEALTH_UNSPECIFIED=0 HEALTH_UNSPECIFIED value
+ * @property {number} HEALTHY=1 HEALTHY value
+ * @property {number} DEPRECATED_UNHEALTHY=2 DEPRECATED_UNHEALTHY value
+ * @property {number} TIMEOUT=3 TIMEOUT value
+ * @property {number} UNHEALTHY_TENSORFLOW=4 UNHEALTHY_TENSORFLOW value
+ * @property {number} UNHEALTHY_MAINTENANCE=5 UNHEALTHY_MAINTENANCE value
+ */
+ Node.Health = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "HEALTH_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "HEALTHY"] = 1;
+ values[valuesById[2] = "DEPRECATED_UNHEALTHY"] = 2;
+ values[valuesById[3] = "TIMEOUT"] = 3;
+ values[valuesById[4] = "UNHEALTHY_TENSORFLOW"] = 4;
+ values[valuesById[5] = "UNHEALTHY_MAINTENANCE"] = 5;
+ return values;
+ })();
+
+ /**
+ * ApiVersion enum.
+ * @name google.cloud.tpu.v1.Node.ApiVersion
+ * @enum {number}
+ * @property {number} API_VERSION_UNSPECIFIED=0 API_VERSION_UNSPECIFIED value
+ * @property {number} V1_ALPHA1=1 V1_ALPHA1 value
+ * @property {number} V1=2 V1 value
+ * @property {number} V2_ALPHA1=3 V2_ALPHA1 value
+ */
+ Node.ApiVersion = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "API_VERSION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "V1_ALPHA1"] = 1;
+ values[valuesById[2] = "V1"] = 2;
+ values[valuesById[3] = "V2_ALPHA1"] = 3;
+ return values;
+ })();
+
+ return Node;
+ })();
+
+ v1.ListNodesRequest = (function() {
+
+ /**
+ * Properties of a ListNodesRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IListNodesRequest
+ * @property {string|null} [parent] ListNodesRequest parent
+ * @property {number|null} [pageSize] ListNodesRequest pageSize
+ * @property {string|null} [pageToken] ListNodesRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListNodesRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a ListNodesRequest.
+ * @implements IListNodesRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IListNodesRequest=} [properties] Properties to set
+ */
+ function ListNodesRequest(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]];
+ }
+
+ /**
+ * ListNodesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @instance
+ */
+ ListNodesRequest.prototype.parent = "";
+
+ /**
+ * ListNodesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @instance
+ */
+ ListNodesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListNodesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @instance
+ */
+ ListNodesRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListNodesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListNodesRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.ListNodesRequest} ListNodesRequest instance
+ */
+ ListNodesRequest.create = function create(properties) {
+ return new ListNodesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListNodesRequest message. Does not implicitly {@link google.cloud.tpu.v1.ListNodesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListNodesRequest} message ListNodesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesRequest.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);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListNodesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListNodesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListNodesRequest} message ListNodesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.ListNodesRequest} ListNodesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesRequest.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.tpu.v1.ListNodesRequest();
+ 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;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.ListNodesRequest} ListNodesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListNodesRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListNodesRequest.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";
+ return null;
+ };
+
+ /**
+ * Creates a ListNodesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.ListNodesRequest} ListNodesRequest
+ */
+ ListNodesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.ListNodesRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.ListNodesRequest();
+ 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);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListNodesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.ListNodesRequest} message ListNodesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListNodesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ 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;
+ return object;
+ };
+
+ /**
+ * Converts this ListNodesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListNodesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListNodesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.ListNodesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListNodesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.ListNodesRequest";
+ };
+
+ return ListNodesRequest;
+ })();
+
+ v1.ListNodesResponse = (function() {
+
+ /**
+ * Properties of a ListNodesResponse.
+ * @memberof google.cloud.tpu.v1
+ * @interface IListNodesResponse
+ * @property {Array.|null} [nodes] ListNodesResponse nodes
+ * @property {string|null} [nextPageToken] ListNodesResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListNodesResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListNodesResponse.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a ListNodesResponse.
+ * @implements IListNodesResponse
+ * @constructor
+ * @param {google.cloud.tpu.v1.IListNodesResponse=} [properties] Properties to set
+ */
+ function ListNodesResponse(properties) {
+ this.nodes = [];
+ 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]];
+ }
+
+ /**
+ * ListNodesResponse nodes.
+ * @member {Array.} nodes
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @instance
+ */
+ ListNodesResponse.prototype.nodes = $util.emptyArray;
+
+ /**
+ * ListNodesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @instance
+ */
+ ListNodesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListNodesResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @instance
+ */
+ ListNodesResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListNodesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListNodesResponse=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.ListNodesResponse} ListNodesResponse instance
+ */
+ ListNodesResponse.create = function create(properties) {
+ return new ListNodesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListNodesResponse message. Does not implicitly {@link google.cloud.tpu.v1.ListNodesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListNodesResponse} message ListNodesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.nodes != null && message.nodes.length)
+ for (var i = 0; i < message.nodes.length; ++i)
+ $root.google.cloud.tpu.v1.Node.encode(message.nodes[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 ListNodesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListNodesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListNodesResponse} message ListNodesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListNodesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.ListNodesResponse} ListNodesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesResponse.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.tpu.v1.ListNodesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.nodes && message.nodes.length))
+ message.nodes = [];
+ message.nodes.push($root.google.cloud.tpu.v1.Node.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 ListNodesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.ListNodesResponse} ListNodesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListNodesResponse message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListNodesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.nodes != null && message.hasOwnProperty("nodes")) {
+ if (!Array.isArray(message.nodes))
+ return "nodes: array expected";
+ for (var i = 0; i < message.nodes.length; ++i) {
+ var error = $root.google.cloud.tpu.v1.Node.verify(message.nodes[i]);
+ if (error)
+ return "nodes." + 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 ListNodesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.ListNodesResponse} ListNodesResponse
+ */
+ ListNodesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.ListNodesResponse)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.ListNodesResponse();
+ if (object.nodes) {
+ if (!Array.isArray(object.nodes))
+ throw TypeError(".google.cloud.tpu.v1.ListNodesResponse.nodes: array expected");
+ message.nodes = [];
+ for (var i = 0; i < object.nodes.length; ++i) {
+ if (typeof object.nodes[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v1.ListNodesResponse.nodes: object expected");
+ message.nodes[i] = $root.google.cloud.tpu.v1.Node.fromObject(object.nodes[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.tpu.v1.ListNodesResponse.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 ListNodesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.ListNodesResponse} message ListNodesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListNodesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.nodes = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.nodes && message.nodes.length) {
+ object.nodes = [];
+ for (var j = 0; j < message.nodes.length; ++j)
+ object.nodes[j] = $root.google.cloud.tpu.v1.Node.toObject(message.nodes[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 ListNodesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListNodesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListNodesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.ListNodesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListNodesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.ListNodesResponse";
+ };
+
+ return ListNodesResponse;
+ })();
+
+ v1.GetNodeRequest = (function() {
+
+ /**
+ * Properties of a GetNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IGetNodeRequest
+ * @property {string|null} [name] GetNodeRequest name
+ */
+
+ /**
+ * Constructs a new GetNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a GetNodeRequest.
+ * @implements IGetNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IGetNodeRequest=} [properties] Properties to set
+ */
+ function GetNodeRequest(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]];
+ }
+
+ /**
+ * GetNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @instance
+ */
+ GetNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.GetNodeRequest} GetNodeRequest instance
+ */
+ GetNodeRequest.create = function create(properties) {
+ return new GetNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.GetNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetNodeRequest} message GetNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetNodeRequest.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 GetNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.GetNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetNodeRequest} message GetNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.GetNodeRequest} GetNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetNodeRequest.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.tpu.v1.GetNodeRequest();
+ 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 GetNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.GetNodeRequest} GetNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetNodeRequest.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 GetNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.GetNodeRequest} GetNodeRequest
+ */
+ GetNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.GetNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.GetNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.GetNodeRequest} message GetNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetNodeRequest.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 GetNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.GetNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.GetNodeRequest";
+ };
+
+ return GetNodeRequest;
+ })();
+
+ v1.CreateNodeRequest = (function() {
+
+ /**
+ * Properties of a CreateNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface ICreateNodeRequest
+ * @property {string|null} [parent] CreateNodeRequest parent
+ * @property {string|null} [nodeId] CreateNodeRequest nodeId
+ * @property {google.cloud.tpu.v1.INode|null} [node] CreateNodeRequest node
+ */
+
+ /**
+ * Constructs a new CreateNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a CreateNodeRequest.
+ * @implements ICreateNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.ICreateNodeRequest=} [properties] Properties to set
+ */
+ function CreateNodeRequest(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]];
+ }
+
+ /**
+ * CreateNodeRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @instance
+ */
+ CreateNodeRequest.prototype.parent = "";
+
+ /**
+ * CreateNodeRequest nodeId.
+ * @member {string} nodeId
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @instance
+ */
+ CreateNodeRequest.prototype.nodeId = "";
+
+ /**
+ * CreateNodeRequest node.
+ * @member {google.cloud.tpu.v1.INode|null|undefined} node
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @instance
+ */
+ CreateNodeRequest.prototype.node = null;
+
+ /**
+ * Creates a new CreateNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.ICreateNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.CreateNodeRequest} CreateNodeRequest instance
+ */
+ CreateNodeRequest.create = function create(properties) {
+ return new CreateNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.CreateNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.ICreateNodeRequest} message CreateNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateNodeRequest.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.nodeId != null && Object.hasOwnProperty.call(message, "nodeId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nodeId);
+ if (message.node != null && Object.hasOwnProperty.call(message, "node"))
+ $root.google.cloud.tpu.v1.Node.encode(message.node, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.CreateNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.ICreateNodeRequest} message CreateNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.CreateNodeRequest} CreateNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateNodeRequest.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.tpu.v1.CreateNodeRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.nodeId = reader.string();
+ break;
+ }
+ case 3: {
+ message.node = $root.google.cloud.tpu.v1.Node.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.CreateNodeRequest} CreateNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateNodeRequest.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.nodeId != null && message.hasOwnProperty("nodeId"))
+ if (!$util.isString(message.nodeId))
+ return "nodeId: string expected";
+ if (message.node != null && message.hasOwnProperty("node")) {
+ var error = $root.google.cloud.tpu.v1.Node.verify(message.node);
+ if (error)
+ return "node." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.CreateNodeRequest} CreateNodeRequest
+ */
+ CreateNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.CreateNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.CreateNodeRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.nodeId != null)
+ message.nodeId = String(object.nodeId);
+ if (object.node != null) {
+ if (typeof object.node !== "object")
+ throw TypeError(".google.cloud.tpu.v1.CreateNodeRequest.node: object expected");
+ message.node = $root.google.cloud.tpu.v1.Node.fromObject(object.node);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.CreateNodeRequest} message CreateNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateNodeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.nodeId = "";
+ object.node = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.nodeId != null && message.hasOwnProperty("nodeId"))
+ object.nodeId = message.nodeId;
+ if (message.node != null && message.hasOwnProperty("node"))
+ object.node = $root.google.cloud.tpu.v1.Node.toObject(message.node, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.CreateNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.CreateNodeRequest";
+ };
+
+ return CreateNodeRequest;
+ })();
+
+ v1.DeleteNodeRequest = (function() {
+
+ /**
+ * Properties of a DeleteNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IDeleteNodeRequest
+ * @property {string|null} [name] DeleteNodeRequest name
+ */
+
+ /**
+ * Constructs a new DeleteNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a DeleteNodeRequest.
+ * @implements IDeleteNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IDeleteNodeRequest=} [properties] Properties to set
+ */
+ function DeleteNodeRequest(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]];
+ }
+
+ /**
+ * DeleteNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @instance
+ */
+ DeleteNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IDeleteNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.DeleteNodeRequest} DeleteNodeRequest instance
+ */
+ DeleteNodeRequest.create = function create(properties) {
+ return new DeleteNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.DeleteNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IDeleteNodeRequest} message DeleteNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteNodeRequest.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 DeleteNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.DeleteNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IDeleteNodeRequest} message DeleteNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.DeleteNodeRequest} DeleteNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteNodeRequest.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.tpu.v1.DeleteNodeRequest();
+ 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 DeleteNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.DeleteNodeRequest} DeleteNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteNodeRequest.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 DeleteNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.DeleteNodeRequest} DeleteNodeRequest
+ */
+ DeleteNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.DeleteNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.DeleteNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.DeleteNodeRequest} message DeleteNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteNodeRequest.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 DeleteNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.DeleteNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.DeleteNodeRequest";
+ };
+
+ return DeleteNodeRequest;
+ })();
+
+ v1.ReimageNodeRequest = (function() {
+
+ /**
+ * Properties of a ReimageNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IReimageNodeRequest
+ * @property {string|null} [name] ReimageNodeRequest name
+ * @property {string|null} [tensorflowVersion] ReimageNodeRequest tensorflowVersion
+ */
+
+ /**
+ * Constructs a new ReimageNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a ReimageNodeRequest.
+ * @implements IReimageNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IReimageNodeRequest=} [properties] Properties to set
+ */
+ function ReimageNodeRequest(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]];
+ }
+
+ /**
+ * ReimageNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @instance
+ */
+ ReimageNodeRequest.prototype.name = "";
+
+ /**
+ * ReimageNodeRequest tensorflowVersion.
+ * @member {string} tensorflowVersion
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @instance
+ */
+ ReimageNodeRequest.prototype.tensorflowVersion = "";
+
+ /**
+ * Creates a new ReimageNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IReimageNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.ReimageNodeRequest} ReimageNodeRequest instance
+ */
+ ReimageNodeRequest.create = function create(properties) {
+ return new ReimageNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ReimageNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.ReimageNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IReimageNodeRequest} message ReimageNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReimageNodeRequest.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.tensorflowVersion != null && Object.hasOwnProperty.call(message, "tensorflowVersion"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.tensorflowVersion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReimageNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ReimageNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IReimageNodeRequest} message ReimageNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReimageNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReimageNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.ReimageNodeRequest} ReimageNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReimageNodeRequest.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.tpu.v1.ReimageNodeRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.tensorflowVersion = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReimageNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.ReimageNodeRequest} ReimageNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReimageNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReimageNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReimageNodeRequest.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.tensorflowVersion != null && message.hasOwnProperty("tensorflowVersion"))
+ if (!$util.isString(message.tensorflowVersion))
+ return "tensorflowVersion: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ReimageNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.ReimageNodeRequest} ReimageNodeRequest
+ */
+ ReimageNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.ReimageNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.ReimageNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.tensorflowVersion != null)
+ message.tensorflowVersion = String(object.tensorflowVersion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReimageNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.ReimageNodeRequest} message ReimageNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReimageNodeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.tensorflowVersion = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.tensorflowVersion != null && message.hasOwnProperty("tensorflowVersion"))
+ object.tensorflowVersion = message.tensorflowVersion;
+ return object;
+ };
+
+ /**
+ * Converts this ReimageNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReimageNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReimageNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.ReimageNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReimageNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.ReimageNodeRequest";
+ };
+
+ return ReimageNodeRequest;
+ })();
+
+ v1.StopNodeRequest = (function() {
+
+ /**
+ * Properties of a StopNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IStopNodeRequest
+ * @property {string|null} [name] StopNodeRequest name
+ */
+
+ /**
+ * Constructs a new StopNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a StopNodeRequest.
+ * @implements IStopNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IStopNodeRequest=} [properties] Properties to set
+ */
+ function StopNodeRequest(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]];
+ }
+
+ /**
+ * StopNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @instance
+ */
+ StopNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new StopNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IStopNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.StopNodeRequest} StopNodeRequest instance
+ */
+ StopNodeRequest.create = function create(properties) {
+ return new StopNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified StopNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.StopNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IStopNodeRequest} message StopNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StopNodeRequest.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 StopNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.StopNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IStopNodeRequest} message StopNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StopNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a StopNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.StopNodeRequest} StopNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StopNodeRequest.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.tpu.v1.StopNodeRequest();
+ 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 StopNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.StopNodeRequest} StopNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StopNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a StopNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ StopNodeRequest.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 StopNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.StopNodeRequest} StopNodeRequest
+ */
+ StopNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.StopNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.StopNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a StopNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.StopNodeRequest} message StopNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ StopNodeRequest.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 StopNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ StopNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for StopNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.StopNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ StopNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.StopNodeRequest";
+ };
+
+ return StopNodeRequest;
+ })();
+
+ v1.StartNodeRequest = (function() {
+
+ /**
+ * Properties of a StartNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IStartNodeRequest
+ * @property {string|null} [name] StartNodeRequest name
+ */
+
+ /**
+ * Constructs a new StartNodeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a StartNodeRequest.
+ * @implements IStartNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IStartNodeRequest=} [properties] Properties to set
+ */
+ function StartNodeRequest(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]];
+ }
+
+ /**
+ * StartNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @instance
+ */
+ StartNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new StartNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IStartNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.StartNodeRequest} StartNodeRequest instance
+ */
+ StartNodeRequest.create = function create(properties) {
+ return new StartNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified StartNodeRequest message. Does not implicitly {@link google.cloud.tpu.v1.StartNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IStartNodeRequest} message StartNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StartNodeRequest.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 StartNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.StartNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IStartNodeRequest} message StartNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StartNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a StartNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.StartNodeRequest} StartNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StartNodeRequest.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.tpu.v1.StartNodeRequest();
+ 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 StartNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.StartNodeRequest} StartNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StartNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a StartNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ StartNodeRequest.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 StartNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.StartNodeRequest} StartNodeRequest
+ */
+ StartNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.StartNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.StartNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a StartNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.StartNodeRequest} message StartNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ StartNodeRequest.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 StartNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ StartNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for StartNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.StartNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ StartNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.StartNodeRequest";
+ };
+
+ return StartNodeRequest;
+ })();
+
+ v1.TensorFlowVersion = (function() {
+
+ /**
+ * Properties of a TensorFlowVersion.
+ * @memberof google.cloud.tpu.v1
+ * @interface ITensorFlowVersion
+ * @property {string|null} [name] TensorFlowVersion name
+ * @property {string|null} [version] TensorFlowVersion version
+ */
+
+ /**
+ * Constructs a new TensorFlowVersion.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a TensorFlowVersion.
+ * @implements ITensorFlowVersion
+ * @constructor
+ * @param {google.cloud.tpu.v1.ITensorFlowVersion=} [properties] Properties to set
+ */
+ function TensorFlowVersion(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]];
+ }
+
+ /**
+ * TensorFlowVersion name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @instance
+ */
+ TensorFlowVersion.prototype.name = "";
+
+ /**
+ * TensorFlowVersion version.
+ * @member {string} version
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @instance
+ */
+ TensorFlowVersion.prototype.version = "";
+
+ /**
+ * Creates a new TensorFlowVersion instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {google.cloud.tpu.v1.ITensorFlowVersion=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.TensorFlowVersion} TensorFlowVersion instance
+ */
+ TensorFlowVersion.create = function create(properties) {
+ return new TensorFlowVersion(properties);
+ };
+
+ /**
+ * Encodes the specified TensorFlowVersion message. Does not implicitly {@link google.cloud.tpu.v1.TensorFlowVersion.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {google.cloud.tpu.v1.ITensorFlowVersion} message TensorFlowVersion message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TensorFlowVersion.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.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.version);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TensorFlowVersion message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.TensorFlowVersion.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {google.cloud.tpu.v1.ITensorFlowVersion} message TensorFlowVersion message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TensorFlowVersion.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TensorFlowVersion message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.TensorFlowVersion} TensorFlowVersion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TensorFlowVersion.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.tpu.v1.TensorFlowVersion();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.version = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TensorFlowVersion message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.TensorFlowVersion} TensorFlowVersion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TensorFlowVersion.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TensorFlowVersion message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TensorFlowVersion.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.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TensorFlowVersion message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.TensorFlowVersion} TensorFlowVersion
+ */
+ TensorFlowVersion.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.TensorFlowVersion)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.TensorFlowVersion();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.version != null)
+ message.version = String(object.version);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TensorFlowVersion message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {google.cloud.tpu.v1.TensorFlowVersion} message TensorFlowVersion
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TensorFlowVersion.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.version = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ return object;
+ };
+
+ /**
+ * Converts this TensorFlowVersion to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TensorFlowVersion.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TensorFlowVersion
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.TensorFlowVersion
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TensorFlowVersion.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.TensorFlowVersion";
+ };
+
+ return TensorFlowVersion;
+ })();
+
+ v1.GetTensorFlowVersionRequest = (function() {
+
+ /**
+ * Properties of a GetTensorFlowVersionRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IGetTensorFlowVersionRequest
+ * @property {string|null} [name] GetTensorFlowVersionRequest name
+ */
+
+ /**
+ * Constructs a new GetTensorFlowVersionRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a GetTensorFlowVersionRequest.
+ * @implements IGetTensorFlowVersionRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest=} [properties] Properties to set
+ */
+ function GetTensorFlowVersionRequest(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]];
+ }
+
+ /**
+ * GetTensorFlowVersionRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @instance
+ */
+ GetTensorFlowVersionRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetTensorFlowVersionRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.GetTensorFlowVersionRequest} GetTensorFlowVersionRequest instance
+ */
+ GetTensorFlowVersionRequest.create = function create(properties) {
+ return new GetTensorFlowVersionRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetTensorFlowVersionRequest message. Does not implicitly {@link google.cloud.tpu.v1.GetTensorFlowVersionRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest} message GetTensorFlowVersionRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetTensorFlowVersionRequest.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 GetTensorFlowVersionRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.GetTensorFlowVersionRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetTensorFlowVersionRequest} message GetTensorFlowVersionRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetTensorFlowVersionRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetTensorFlowVersionRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.GetTensorFlowVersionRequest} GetTensorFlowVersionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetTensorFlowVersionRequest.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.tpu.v1.GetTensorFlowVersionRequest();
+ 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 GetTensorFlowVersionRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.GetTensorFlowVersionRequest} GetTensorFlowVersionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetTensorFlowVersionRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetTensorFlowVersionRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetTensorFlowVersionRequest.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 GetTensorFlowVersionRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.GetTensorFlowVersionRequest} GetTensorFlowVersionRequest
+ */
+ GetTensorFlowVersionRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.GetTensorFlowVersionRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.GetTensorFlowVersionRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetTensorFlowVersionRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {google.cloud.tpu.v1.GetTensorFlowVersionRequest} message GetTensorFlowVersionRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetTensorFlowVersionRequest.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 GetTensorFlowVersionRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetTensorFlowVersionRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetTensorFlowVersionRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.GetTensorFlowVersionRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetTensorFlowVersionRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.GetTensorFlowVersionRequest";
+ };
+
+ return GetTensorFlowVersionRequest;
+ })();
+
+ v1.ListTensorFlowVersionsRequest = (function() {
+
+ /**
+ * Properties of a ListTensorFlowVersionsRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IListTensorFlowVersionsRequest
+ * @property {string|null} [parent] ListTensorFlowVersionsRequest parent
+ * @property {number|null} [pageSize] ListTensorFlowVersionsRequest pageSize
+ * @property {string|null} [pageToken] ListTensorFlowVersionsRequest pageToken
+ * @property {string|null} [filter] ListTensorFlowVersionsRequest filter
+ * @property {string|null} [orderBy] ListTensorFlowVersionsRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListTensorFlowVersionsRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a ListTensorFlowVersionsRequest.
+ * @implements IListTensorFlowVersionsRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest=} [properties] Properties to set
+ */
+ function ListTensorFlowVersionsRequest(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]];
+ }
+
+ /**
+ * ListTensorFlowVersionsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @instance
+ */
+ ListTensorFlowVersionsRequest.prototype.parent = "";
+
+ /**
+ * ListTensorFlowVersionsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @instance
+ */
+ ListTensorFlowVersionsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListTensorFlowVersionsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @instance
+ */
+ ListTensorFlowVersionsRequest.prototype.pageToken = "";
+
+ /**
+ * ListTensorFlowVersionsRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @instance
+ */
+ ListTensorFlowVersionsRequest.prototype.filter = "";
+
+ /**
+ * ListTensorFlowVersionsRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @instance
+ */
+ ListTensorFlowVersionsRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListTensorFlowVersionsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsRequest} ListTensorFlowVersionsRequest instance
+ */
+ ListTensorFlowVersionsRequest.create = function create(properties) {
+ return new ListTensorFlowVersionsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListTensorFlowVersionsRequest message. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest} message ListTensorFlowVersionsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTensorFlowVersionsRequest.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 5, wireType 2 =*/42).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListTensorFlowVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsRequest} message ListTensorFlowVersionsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTensorFlowVersionsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTensorFlowVersionsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsRequest} ListTensorFlowVersionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTensorFlowVersionsRequest.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.tpu.v1.ListTensorFlowVersionsRequest();
+ 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 5: {
+ message.filter = reader.string();
+ break;
+ }
+ case 6: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListTensorFlowVersionsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsRequest} ListTensorFlowVersionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTensorFlowVersionsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTensorFlowVersionsRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTensorFlowVersionsRequest.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 ListTensorFlowVersionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsRequest} ListTensorFlowVersionsRequest
+ */
+ ListTensorFlowVersionsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.ListTensorFlowVersionsRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.ListTensorFlowVersionsRequest();
+ 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 ListTensorFlowVersionsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {google.cloud.tpu.v1.ListTensorFlowVersionsRequest} message ListTensorFlowVersionsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTensorFlowVersionsRequest.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 ListTensorFlowVersionsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTensorFlowVersionsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTensorFlowVersionsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTensorFlowVersionsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.ListTensorFlowVersionsRequest";
+ };
+
+ return ListTensorFlowVersionsRequest;
+ })();
+
+ v1.ListTensorFlowVersionsResponse = (function() {
+
+ /**
+ * Properties of a ListTensorFlowVersionsResponse.
+ * @memberof google.cloud.tpu.v1
+ * @interface IListTensorFlowVersionsResponse
+ * @property {Array.|null} [tensorflowVersions] ListTensorFlowVersionsResponse tensorflowVersions
+ * @property {string|null} [nextPageToken] ListTensorFlowVersionsResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListTensorFlowVersionsResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListTensorFlowVersionsResponse.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a ListTensorFlowVersionsResponse.
+ * @implements IListTensorFlowVersionsResponse
+ * @constructor
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsResponse=} [properties] Properties to set
+ */
+ function ListTensorFlowVersionsResponse(properties) {
+ this.tensorflowVersions = [];
+ 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]];
+ }
+
+ /**
+ * ListTensorFlowVersionsResponse tensorflowVersions.
+ * @member {Array.} tensorflowVersions
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @instance
+ */
+ ListTensorFlowVersionsResponse.prototype.tensorflowVersions = $util.emptyArray;
+
+ /**
+ * ListTensorFlowVersionsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @instance
+ */
+ ListTensorFlowVersionsResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListTensorFlowVersionsResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @instance
+ */
+ ListTensorFlowVersionsResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListTensorFlowVersionsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsResponse=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsResponse} ListTensorFlowVersionsResponse instance
+ */
+ ListTensorFlowVersionsResponse.create = function create(properties) {
+ return new ListTensorFlowVersionsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListTensorFlowVersionsResponse message. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsResponse} message ListTensorFlowVersionsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTensorFlowVersionsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.tensorflowVersions != null && message.tensorflowVersions.length)
+ for (var i = 0; i < message.tensorflowVersions.length; ++i)
+ $root.google.cloud.tpu.v1.TensorFlowVersion.encode(message.tensorflowVersions[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 ListTensorFlowVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListTensorFlowVersionsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListTensorFlowVersionsResponse} message ListTensorFlowVersionsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTensorFlowVersionsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTensorFlowVersionsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsResponse} ListTensorFlowVersionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTensorFlowVersionsResponse.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.tpu.v1.ListTensorFlowVersionsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.tensorflowVersions && message.tensorflowVersions.length))
+ message.tensorflowVersions = [];
+ message.tensorflowVersions.push($root.google.cloud.tpu.v1.TensorFlowVersion.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 ListTensorFlowVersionsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsResponse} ListTensorFlowVersionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTensorFlowVersionsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTensorFlowVersionsResponse message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTensorFlowVersionsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.tensorflowVersions != null && message.hasOwnProperty("tensorflowVersions")) {
+ if (!Array.isArray(message.tensorflowVersions))
+ return "tensorflowVersions: array expected";
+ for (var i = 0; i < message.tensorflowVersions.length; ++i) {
+ var error = $root.google.cloud.tpu.v1.TensorFlowVersion.verify(message.tensorflowVersions[i]);
+ if (error)
+ return "tensorflowVersions." + 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 ListTensorFlowVersionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.ListTensorFlowVersionsResponse} ListTensorFlowVersionsResponse
+ */
+ ListTensorFlowVersionsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.ListTensorFlowVersionsResponse)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.ListTensorFlowVersionsResponse();
+ if (object.tensorflowVersions) {
+ if (!Array.isArray(object.tensorflowVersions))
+ throw TypeError(".google.cloud.tpu.v1.ListTensorFlowVersionsResponse.tensorflowVersions: array expected");
+ message.tensorflowVersions = [];
+ for (var i = 0; i < object.tensorflowVersions.length; ++i) {
+ if (typeof object.tensorflowVersions[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v1.ListTensorFlowVersionsResponse.tensorflowVersions: object expected");
+ message.tensorflowVersions[i] = $root.google.cloud.tpu.v1.TensorFlowVersion.fromObject(object.tensorflowVersions[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.tpu.v1.ListTensorFlowVersionsResponse.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 ListTensorFlowVersionsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {google.cloud.tpu.v1.ListTensorFlowVersionsResponse} message ListTensorFlowVersionsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTensorFlowVersionsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.tensorflowVersions = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.tensorflowVersions && message.tensorflowVersions.length) {
+ object.tensorflowVersions = [];
+ for (var j = 0; j < message.tensorflowVersions.length; ++j)
+ object.tensorflowVersions[j] = $root.google.cloud.tpu.v1.TensorFlowVersion.toObject(message.tensorflowVersions[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 ListTensorFlowVersionsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTensorFlowVersionsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTensorFlowVersionsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.ListTensorFlowVersionsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTensorFlowVersionsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.ListTensorFlowVersionsResponse";
+ };
+
+ return ListTensorFlowVersionsResponse;
+ })();
+
+ v1.AcceleratorType = (function() {
+
+ /**
+ * Properties of an AcceleratorType.
+ * @memberof google.cloud.tpu.v1
+ * @interface IAcceleratorType
+ * @property {string|null} [name] AcceleratorType name
+ * @property {string|null} [type] AcceleratorType type
+ */
+
+ /**
+ * Constructs a new AcceleratorType.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents an AcceleratorType.
+ * @implements IAcceleratorType
+ * @constructor
+ * @param {google.cloud.tpu.v1.IAcceleratorType=} [properties] Properties to set
+ */
+ function AcceleratorType(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]];
+ }
+
+ /**
+ * AcceleratorType name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @instance
+ */
+ AcceleratorType.prototype.name = "";
+
+ /**
+ * AcceleratorType type.
+ * @member {string} type
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @instance
+ */
+ AcceleratorType.prototype.type = "";
+
+ /**
+ * Creates a new AcceleratorType instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {google.cloud.tpu.v1.IAcceleratorType=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.AcceleratorType} AcceleratorType instance
+ */
+ AcceleratorType.create = function create(properties) {
+ return new AcceleratorType(properties);
+ };
+
+ /**
+ * Encodes the specified AcceleratorType message. Does not implicitly {@link google.cloud.tpu.v1.AcceleratorType.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {google.cloud.tpu.v1.IAcceleratorType} message AcceleratorType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AcceleratorType.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.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.type);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AcceleratorType message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.AcceleratorType.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {google.cloud.tpu.v1.IAcceleratorType} message AcceleratorType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AcceleratorType.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AcceleratorType message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.AcceleratorType} AcceleratorType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AcceleratorType.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.tpu.v1.AcceleratorType();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.type = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AcceleratorType message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.AcceleratorType} AcceleratorType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AcceleratorType.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AcceleratorType message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AcceleratorType.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.type != null && message.hasOwnProperty("type"))
+ if (!$util.isString(message.type))
+ return "type: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AcceleratorType message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.AcceleratorType} AcceleratorType
+ */
+ AcceleratorType.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.AcceleratorType)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.AcceleratorType();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.type != null)
+ message.type = String(object.type);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AcceleratorType message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {google.cloud.tpu.v1.AcceleratorType} message AcceleratorType
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AcceleratorType.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.type = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = message.type;
+ return object;
+ };
+
+ /**
+ * Converts this AcceleratorType to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AcceleratorType.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AcceleratorType
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.AcceleratorType
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AcceleratorType.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.AcceleratorType";
+ };
+
+ return AcceleratorType;
+ })();
+
+ v1.GetAcceleratorTypeRequest = (function() {
+
+ /**
+ * Properties of a GetAcceleratorTypeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IGetAcceleratorTypeRequest
+ * @property {string|null} [name] GetAcceleratorTypeRequest name
+ */
+
+ /**
+ * Constructs a new GetAcceleratorTypeRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a GetAcceleratorTypeRequest.
+ * @implements IGetAcceleratorTypeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest=} [properties] Properties to set
+ */
+ function GetAcceleratorTypeRequest(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]];
+ }
+
+ /**
+ * GetAcceleratorTypeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @instance
+ */
+ GetAcceleratorTypeRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetAcceleratorTypeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.GetAcceleratorTypeRequest} GetAcceleratorTypeRequest instance
+ */
+ GetAcceleratorTypeRequest.create = function create(properties) {
+ return new GetAcceleratorTypeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetAcceleratorTypeRequest message. Does not implicitly {@link google.cloud.tpu.v1.GetAcceleratorTypeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest} message GetAcceleratorTypeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAcceleratorTypeRequest.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 GetAcceleratorTypeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.GetAcceleratorTypeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IGetAcceleratorTypeRequest} message GetAcceleratorTypeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAcceleratorTypeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetAcceleratorTypeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.GetAcceleratorTypeRequest} GetAcceleratorTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAcceleratorTypeRequest.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.tpu.v1.GetAcceleratorTypeRequest();
+ 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 GetAcceleratorTypeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.GetAcceleratorTypeRequest} GetAcceleratorTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAcceleratorTypeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetAcceleratorTypeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetAcceleratorTypeRequest.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 GetAcceleratorTypeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.GetAcceleratorTypeRequest} GetAcceleratorTypeRequest
+ */
+ GetAcceleratorTypeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.GetAcceleratorTypeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.GetAcceleratorTypeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetAcceleratorTypeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {google.cloud.tpu.v1.GetAcceleratorTypeRequest} message GetAcceleratorTypeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetAcceleratorTypeRequest.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 GetAcceleratorTypeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetAcceleratorTypeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetAcceleratorTypeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.GetAcceleratorTypeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetAcceleratorTypeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.GetAcceleratorTypeRequest";
+ };
+
+ return GetAcceleratorTypeRequest;
+ })();
+
+ v1.ListAcceleratorTypesRequest = (function() {
+
+ /**
+ * Properties of a ListAcceleratorTypesRequest.
+ * @memberof google.cloud.tpu.v1
+ * @interface IListAcceleratorTypesRequest
+ * @property {string|null} [parent] ListAcceleratorTypesRequest parent
+ * @property {number|null} [pageSize] ListAcceleratorTypesRequest pageSize
+ * @property {string|null} [pageToken] ListAcceleratorTypesRequest pageToken
+ * @property {string|null} [filter] ListAcceleratorTypesRequest filter
+ * @property {string|null} [orderBy] ListAcceleratorTypesRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListAcceleratorTypesRequest.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a ListAcceleratorTypesRequest.
+ * @implements IListAcceleratorTypesRequest
+ * @constructor
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest=} [properties] Properties to set
+ */
+ function ListAcceleratorTypesRequest(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]];
+ }
+
+ /**
+ * ListAcceleratorTypesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @instance
+ */
+ ListAcceleratorTypesRequest.prototype.parent = "";
+
+ /**
+ * ListAcceleratorTypesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @instance
+ */
+ ListAcceleratorTypesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListAcceleratorTypesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @instance
+ */
+ ListAcceleratorTypesRequest.prototype.pageToken = "";
+
+ /**
+ * ListAcceleratorTypesRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @instance
+ */
+ ListAcceleratorTypesRequest.prototype.filter = "";
+
+ /**
+ * ListAcceleratorTypesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @instance
+ */
+ ListAcceleratorTypesRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListAcceleratorTypesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesRequest} ListAcceleratorTypesRequest instance
+ */
+ ListAcceleratorTypesRequest.create = function create(properties) {
+ return new ListAcceleratorTypesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListAcceleratorTypesRequest message. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest} message ListAcceleratorTypesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAcceleratorTypesRequest.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 5, wireType 2 =*/42).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListAcceleratorTypesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesRequest} message ListAcceleratorTypesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAcceleratorTypesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAcceleratorTypesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesRequest} ListAcceleratorTypesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAcceleratorTypesRequest.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.tpu.v1.ListAcceleratorTypesRequest();
+ 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 5: {
+ message.filter = reader.string();
+ break;
+ }
+ case 6: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAcceleratorTypesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesRequest} ListAcceleratorTypesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAcceleratorTypesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAcceleratorTypesRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAcceleratorTypesRequest.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 ListAcceleratorTypesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesRequest} ListAcceleratorTypesRequest
+ */
+ ListAcceleratorTypesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.ListAcceleratorTypesRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.ListAcceleratorTypesRequest();
+ 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 ListAcceleratorTypesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {google.cloud.tpu.v1.ListAcceleratorTypesRequest} message ListAcceleratorTypesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAcceleratorTypesRequest.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 ListAcceleratorTypesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAcceleratorTypesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAcceleratorTypesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAcceleratorTypesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.ListAcceleratorTypesRequest";
+ };
+
+ return ListAcceleratorTypesRequest;
+ })();
+
+ v1.ListAcceleratorTypesResponse = (function() {
+
+ /**
+ * Properties of a ListAcceleratorTypesResponse.
+ * @memberof google.cloud.tpu.v1
+ * @interface IListAcceleratorTypesResponse
+ * @property {Array.|null} [acceleratorTypes] ListAcceleratorTypesResponse acceleratorTypes
+ * @property {string|null} [nextPageToken] ListAcceleratorTypesResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListAcceleratorTypesResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListAcceleratorTypesResponse.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a ListAcceleratorTypesResponse.
+ * @implements IListAcceleratorTypesResponse
+ * @constructor
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesResponse=} [properties] Properties to set
+ */
+ function ListAcceleratorTypesResponse(properties) {
+ this.acceleratorTypes = [];
+ 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]];
+ }
+
+ /**
+ * ListAcceleratorTypesResponse acceleratorTypes.
+ * @member {Array.} acceleratorTypes
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @instance
+ */
+ ListAcceleratorTypesResponse.prototype.acceleratorTypes = $util.emptyArray;
+
+ /**
+ * ListAcceleratorTypesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @instance
+ */
+ ListAcceleratorTypesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListAcceleratorTypesResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @instance
+ */
+ ListAcceleratorTypesResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListAcceleratorTypesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesResponse=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesResponse} ListAcceleratorTypesResponse instance
+ */
+ ListAcceleratorTypesResponse.create = function create(properties) {
+ return new ListAcceleratorTypesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListAcceleratorTypesResponse message. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesResponse} message ListAcceleratorTypesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAcceleratorTypesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.acceleratorTypes != null && message.acceleratorTypes.length)
+ for (var i = 0; i < message.acceleratorTypes.length; ++i)
+ $root.google.cloud.tpu.v1.AcceleratorType.encode(message.acceleratorTypes[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 ListAcceleratorTypesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.ListAcceleratorTypesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.IListAcceleratorTypesResponse} message ListAcceleratorTypesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAcceleratorTypesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAcceleratorTypesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesResponse} ListAcceleratorTypesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAcceleratorTypesResponse.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.tpu.v1.ListAcceleratorTypesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.acceleratorTypes && message.acceleratorTypes.length))
+ message.acceleratorTypes = [];
+ message.acceleratorTypes.push($root.google.cloud.tpu.v1.AcceleratorType.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 ListAcceleratorTypesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesResponse} ListAcceleratorTypesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAcceleratorTypesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAcceleratorTypesResponse message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAcceleratorTypesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.acceleratorTypes != null && message.hasOwnProperty("acceleratorTypes")) {
+ if (!Array.isArray(message.acceleratorTypes))
+ return "acceleratorTypes: array expected";
+ for (var i = 0; i < message.acceleratorTypes.length; ++i) {
+ var error = $root.google.cloud.tpu.v1.AcceleratorType.verify(message.acceleratorTypes[i]);
+ if (error)
+ return "acceleratorTypes." + 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 ListAcceleratorTypesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.ListAcceleratorTypesResponse} ListAcceleratorTypesResponse
+ */
+ ListAcceleratorTypesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.ListAcceleratorTypesResponse)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.ListAcceleratorTypesResponse();
+ if (object.acceleratorTypes) {
+ if (!Array.isArray(object.acceleratorTypes))
+ throw TypeError(".google.cloud.tpu.v1.ListAcceleratorTypesResponse.acceleratorTypes: array expected");
+ message.acceleratorTypes = [];
+ for (var i = 0; i < object.acceleratorTypes.length; ++i) {
+ if (typeof object.acceleratorTypes[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v1.ListAcceleratorTypesResponse.acceleratorTypes: object expected");
+ message.acceleratorTypes[i] = $root.google.cloud.tpu.v1.AcceleratorType.fromObject(object.acceleratorTypes[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.tpu.v1.ListAcceleratorTypesResponse.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 ListAcceleratorTypesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {google.cloud.tpu.v1.ListAcceleratorTypesResponse} message ListAcceleratorTypesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAcceleratorTypesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.acceleratorTypes = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.acceleratorTypes && message.acceleratorTypes.length) {
+ object.acceleratorTypes = [];
+ for (var j = 0; j < message.acceleratorTypes.length; ++j)
+ object.acceleratorTypes[j] = $root.google.cloud.tpu.v1.AcceleratorType.toObject(message.acceleratorTypes[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 ListAcceleratorTypesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAcceleratorTypesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAcceleratorTypesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.ListAcceleratorTypesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAcceleratorTypesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.ListAcceleratorTypesResponse";
+ };
+
+ return ListAcceleratorTypesResponse;
+ })();
+
+ v1.OperationMetadata = (function() {
+
+ /**
+ * Properties of an OperationMetadata.
+ * @memberof google.cloud.tpu.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} [statusDetail] OperationMetadata statusDetail
+ * @property {boolean|null} [cancelRequested] OperationMetadata cancelRequested
+ * @property {string|null} [apiVersion] OperationMetadata apiVersion
+ */
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents an OperationMetadata.
+ * @implements IOperationMetadata
+ * @constructor
+ * @param {google.cloud.tpu.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.tpu.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.createTime = null;
+
+ /**
+ * OperationMetadata endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.endTime = null;
+
+ /**
+ * OperationMetadata target.
+ * @member {string} target
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.target = "";
+
+ /**
+ * OperationMetadata verb.
+ * @member {string} verb
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.verb = "";
+
+ /**
+ * OperationMetadata statusDetail.
+ * @member {string} statusDetail
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.statusDetail = "";
+
+ /**
+ * OperationMetadata cancelRequested.
+ * @member {boolean} cancelRequested
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.cancelRequested = false;
+
+ /**
+ * OperationMetadata apiVersion.
+ * @member {string} apiVersion
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.apiVersion = "";
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.tpu.v1.IOperationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.OperationMetadata} OperationMetadata instance
+ */
+ OperationMetadata.create = function create(properties) {
+ return new OperationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.tpu.v1.OperationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.tpu.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.statusDetail != null && Object.hasOwnProperty.call(message, "statusDetail"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusDetail);
+ if (message.cancelRequested != null && Object.hasOwnProperty.call(message, "cancelRequested"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.cancelRequested);
+ 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.tpu.v1.OperationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.tpu.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.tpu.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.tpu.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.tpu.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.statusDetail = reader.string();
+ break;
+ }
+ case 6: {
+ message.cancelRequested = 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.tpu.v1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.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.tpu.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.statusDetail != null && message.hasOwnProperty("statusDetail"))
+ if (!$util.isString(message.statusDetail))
+ return "statusDetail: string expected";
+ if (message.cancelRequested != null && message.hasOwnProperty("cancelRequested"))
+ if (typeof message.cancelRequested !== "boolean")
+ return "cancelRequested: 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.tpu.v1.OperationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.OperationMetadata} OperationMetadata
+ */
+ OperationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.OperationMetadata)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.OperationMetadata();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.tpu.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.tpu.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.statusDetail != null)
+ message.statusDetail = String(object.statusDetail);
+ if (object.cancelRequested != null)
+ message.cancelRequested = Boolean(object.cancelRequested);
+ 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.tpu.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.tpu.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.statusDetail = "";
+ object.cancelRequested = 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.statusDetail != null && message.hasOwnProperty("statusDetail"))
+ object.statusDetail = message.statusDetail;
+ if (message.cancelRequested != null && message.hasOwnProperty("cancelRequested"))
+ object.cancelRequested = message.cancelRequested;
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ object.apiVersion = message.apiVersion;
+ return object;
+ };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.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.tpu.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.tpu.v1.OperationMetadata";
+ };
+
+ return OperationMetadata;
+ })();
+
+ v1.Symptom = (function() {
+
+ /**
+ * Properties of a Symptom.
+ * @memberof google.cloud.tpu.v1
+ * @interface ISymptom
+ * @property {google.protobuf.ITimestamp|null} [createTime] Symptom createTime
+ * @property {google.cloud.tpu.v1.Symptom.SymptomType|null} [symptomType] Symptom symptomType
+ * @property {string|null} [details] Symptom details
+ * @property {string|null} [workerId] Symptom workerId
+ */
+
+ /**
+ * Constructs a new Symptom.
+ * @memberof google.cloud.tpu.v1
+ * @classdesc Represents a Symptom.
+ * @implements ISymptom
+ * @constructor
+ * @param {google.cloud.tpu.v1.ISymptom=} [properties] Properties to set
+ */
+ function Symptom(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]];
+ }
+
+ /**
+ * Symptom createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @instance
+ */
+ Symptom.prototype.createTime = null;
+
+ /**
+ * Symptom symptomType.
+ * @member {google.cloud.tpu.v1.Symptom.SymptomType} symptomType
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @instance
+ */
+ Symptom.prototype.symptomType = 0;
+
+ /**
+ * Symptom details.
+ * @member {string} details
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @instance
+ */
+ Symptom.prototype.details = "";
+
+ /**
+ * Symptom workerId.
+ * @member {string} workerId
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @instance
+ */
+ Symptom.prototype.workerId = "";
+
+ /**
+ * Creates a new Symptom instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {google.cloud.tpu.v1.ISymptom=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v1.Symptom} Symptom instance
+ */
+ Symptom.create = function create(properties) {
+ return new Symptom(properties);
+ };
+
+ /**
+ * Encodes the specified Symptom message. Does not implicitly {@link google.cloud.tpu.v1.Symptom.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {google.cloud.tpu.v1.ISymptom} message Symptom message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Symptom.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.symptomType != null && Object.hasOwnProperty.call(message, "symptomType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.symptomType);
+ if (message.details != null && Object.hasOwnProperty.call(message, "details"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.details);
+ if (message.workerId != null && Object.hasOwnProperty.call(message, "workerId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.workerId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Symptom message, length delimited. Does not implicitly {@link google.cloud.tpu.v1.Symptom.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {google.cloud.tpu.v1.ISymptom} message Symptom message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Symptom.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Symptom message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v1.Symptom} Symptom
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Symptom.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.tpu.v1.Symptom();
+ 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.symptomType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.details = reader.string();
+ break;
+ }
+ case 4: {
+ message.workerId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Symptom message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v1.Symptom} Symptom
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Symptom.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Symptom message.
+ * @function verify
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Symptom.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.symptomType != null && message.hasOwnProperty("symptomType"))
+ switch (message.symptomType) {
+ default:
+ return "symptomType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.details != null && message.hasOwnProperty("details"))
+ if (!$util.isString(message.details))
+ return "details: string expected";
+ if (message.workerId != null && message.hasOwnProperty("workerId"))
+ if (!$util.isString(message.workerId))
+ return "workerId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Symptom message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v1.Symptom} Symptom
+ */
+ Symptom.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v1.Symptom)
+ return object;
+ var message = new $root.google.cloud.tpu.v1.Symptom();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.tpu.v1.Symptom.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ switch (object.symptomType) {
+ default:
+ if (typeof object.symptomType === "number") {
+ message.symptomType = object.symptomType;
+ break;
+ }
+ break;
+ case "SYMPTOM_TYPE_UNSPECIFIED":
+ case 0:
+ message.symptomType = 0;
+ break;
+ case "LOW_MEMORY":
+ case 1:
+ message.symptomType = 1;
+ break;
+ case "OUT_OF_MEMORY":
+ case 2:
+ message.symptomType = 2;
+ break;
+ case "EXECUTE_TIMED_OUT":
+ case 3:
+ message.symptomType = 3;
+ break;
+ case "MESH_BUILD_FAIL":
+ case 4:
+ message.symptomType = 4;
+ break;
+ case "HBM_OUT_OF_MEMORY":
+ case 5:
+ message.symptomType = 5;
+ break;
+ case "PROJECT_ABUSE":
+ case 6:
+ message.symptomType = 6;
+ break;
+ }
+ if (object.details != null)
+ message.details = String(object.details);
+ if (object.workerId != null)
+ message.workerId = String(object.workerId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Symptom message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {google.cloud.tpu.v1.Symptom} message Symptom
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Symptom.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.createTime = null;
+ object.symptomType = options.enums === String ? "SYMPTOM_TYPE_UNSPECIFIED" : 0;
+ object.details = "";
+ object.workerId = "";
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.symptomType != null && message.hasOwnProperty("symptomType"))
+ object.symptomType = options.enums === String ? $root.google.cloud.tpu.v1.Symptom.SymptomType[message.symptomType] === undefined ? message.symptomType : $root.google.cloud.tpu.v1.Symptom.SymptomType[message.symptomType] : message.symptomType;
+ if (message.details != null && message.hasOwnProperty("details"))
+ object.details = message.details;
+ if (message.workerId != null && message.hasOwnProperty("workerId"))
+ object.workerId = message.workerId;
+ return object;
+ };
+
+ /**
+ * Converts this Symptom to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Symptom.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Symptom
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v1.Symptom
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Symptom.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v1.Symptom";
+ };
+
+ /**
+ * SymptomType enum.
+ * @name google.cloud.tpu.v1.Symptom.SymptomType
+ * @enum {number}
+ * @property {number} SYMPTOM_TYPE_UNSPECIFIED=0 SYMPTOM_TYPE_UNSPECIFIED value
+ * @property {number} LOW_MEMORY=1 LOW_MEMORY value
+ * @property {number} OUT_OF_MEMORY=2 OUT_OF_MEMORY value
+ * @property {number} EXECUTE_TIMED_OUT=3 EXECUTE_TIMED_OUT value
+ * @property {number} MESH_BUILD_FAIL=4 MESH_BUILD_FAIL value
+ * @property {number} HBM_OUT_OF_MEMORY=5 HBM_OUT_OF_MEMORY value
+ * @property {number} PROJECT_ABUSE=6 PROJECT_ABUSE value
+ */
+ Symptom.SymptomType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SYMPTOM_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "LOW_MEMORY"] = 1;
+ values[valuesById[2] = "OUT_OF_MEMORY"] = 2;
+ values[valuesById[3] = "EXECUTE_TIMED_OUT"] = 3;
+ values[valuesById[4] = "MESH_BUILD_FAIL"] = 4;
+ values[valuesById[5] = "HBM_OUT_OF_MEMORY"] = 5;
+ values[valuesById[6] = "PROJECT_ABUSE"] = 6;
+ return values;
+ })();
+
+ return Symptom;
+ })();
+
+ return v1;
+ })();
+
+ tpu.v2alpha1 = (function() {
+
+ /**
+ * Namespace v2alpha1.
+ * @memberof google.cloud.tpu
+ * @namespace
+ */
+ var v2alpha1 = {};
+
+ v2alpha1.Tpu = (function() {
+
+ /**
+ * Constructs a new Tpu service.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a Tpu
+ * @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 Tpu(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (Tpu.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Tpu;
+
+ /**
+ * Creates new Tpu service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @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 {Tpu} RPC service. Useful where requests and/or responses are streamed.
+ */
+ Tpu.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listNodes}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef ListNodesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.ListNodesResponse} [response] ListNodesResponse
+ */
+
+ /**
+ * Calls ListNodes.
+ * @function listNodes
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IListNodesRequest} request ListNodesRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.ListNodesCallback} callback Node-style callback called with the error, if any, and ListNodesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.listNodes = function listNodes(request, callback) {
+ return this.rpcCall(listNodes, $root.google.cloud.tpu.v2alpha1.ListNodesRequest, $root.google.cloud.tpu.v2alpha1.ListNodesResponse, request, callback);
+ }, "name", { value: "ListNodes" });
+
+ /**
+ * Calls ListNodes.
+ * @function listNodes
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IListNodesRequest} request ListNodesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getNode}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef GetNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.Node} [response] Node
+ */
+
+ /**
+ * Calls GetNode.
+ * @function getNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetNodeRequest} request GetNodeRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.GetNodeCallback} callback Node-style callback called with the error, if any, and Node
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.getNode = function getNode(request, callback) {
+ return this.rpcCall(getNode, $root.google.cloud.tpu.v2alpha1.GetNodeRequest, $root.google.cloud.tpu.v2alpha1.Node, request, callback);
+ }, "name", { value: "GetNode" });
+
+ /**
+ * Calls GetNode.
+ * @function getNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetNodeRequest} request GetNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|createNode}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef CreateNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateNode.
+ * @function createNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.ICreateNodeRequest} request CreateNodeRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.CreateNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.createNode = function createNode(request, callback) {
+ return this.rpcCall(createNode, $root.google.cloud.tpu.v2alpha1.CreateNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateNode" });
+
+ /**
+ * Calls CreateNode.
+ * @function createNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.ICreateNodeRequest} request CreateNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|deleteNode}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef DeleteNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteNode.
+ * @function deleteNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IDeleteNodeRequest} request DeleteNodeRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.DeleteNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.deleteNode = function deleteNode(request, callback) {
+ return this.rpcCall(deleteNode, $root.google.cloud.tpu.v2alpha1.DeleteNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteNode" });
+
+ /**
+ * Calls DeleteNode.
+ * @function deleteNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IDeleteNodeRequest} request DeleteNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|stopNode}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef StopNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls StopNode.
+ * @function stopNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IStopNodeRequest} request StopNodeRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.StopNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.stopNode = function stopNode(request, callback) {
+ return this.rpcCall(stopNode, $root.google.cloud.tpu.v2alpha1.StopNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "StopNode" });
+
+ /**
+ * Calls StopNode.
+ * @function stopNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IStopNodeRequest} request StopNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|startNode}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef StartNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls StartNode.
+ * @function startNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IStartNodeRequest} request StartNodeRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.StartNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.startNode = function startNode(request, callback) {
+ return this.rpcCall(startNode, $root.google.cloud.tpu.v2alpha1.StartNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "StartNode" });
+
+ /**
+ * Calls StartNode.
+ * @function startNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IStartNodeRequest} request StartNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|updateNode}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef UpdateNodeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateNode.
+ * @function updateNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IUpdateNodeRequest} request UpdateNodeRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.UpdateNodeCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.updateNode = function updateNode(request, callback) {
+ return this.rpcCall(updateNode, $root.google.cloud.tpu.v2alpha1.UpdateNodeRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateNode" });
+
+ /**
+ * Calls UpdateNode.
+ * @function updateNode
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IUpdateNodeRequest} request UpdateNodeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|generateServiceIdentity}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef GenerateServiceIdentityCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse} [response] GenerateServiceIdentityResponse
+ */
+
+ /**
+ * Calls GenerateServiceIdentity.
+ * @function generateServiceIdentity
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest} request GenerateServiceIdentityRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentityCallback} callback Node-style callback called with the error, if any, and GenerateServiceIdentityResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.generateServiceIdentity = function generateServiceIdentity(request, callback) {
+ return this.rpcCall(generateServiceIdentity, $root.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest, $root.google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse, request, callback);
+ }, "name", { value: "GenerateServiceIdentity" });
+
+ /**
+ * Calls GenerateServiceIdentity.
+ * @function generateServiceIdentity
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest} request GenerateServiceIdentityRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listAcceleratorTypes}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef ListAcceleratorTypesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse} [response] ListAcceleratorTypesResponse
+ */
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @function listAcceleratorTypes
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest} request ListAcceleratorTypesRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypesCallback} callback Node-style callback called with the error, if any, and ListAcceleratorTypesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.listAcceleratorTypes = function listAcceleratorTypes(request, callback) {
+ return this.rpcCall(listAcceleratorTypes, $root.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest, $root.google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse, request, callback);
+ }, "name", { value: "ListAcceleratorTypes" });
+
+ /**
+ * Calls ListAcceleratorTypes.
+ * @function listAcceleratorTypes
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest} request ListAcceleratorTypesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getAcceleratorType}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef GetAcceleratorTypeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.AcceleratorType} [response] AcceleratorType
+ */
+
+ /**
+ * Calls GetAcceleratorType.
+ * @function getAcceleratorType
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest} request GetAcceleratorTypeRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorTypeCallback} callback Node-style callback called with the error, if any, and AcceleratorType
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.getAcceleratorType = function getAcceleratorType(request, callback) {
+ return this.rpcCall(getAcceleratorType, $root.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest, $root.google.cloud.tpu.v2alpha1.AcceleratorType, request, callback);
+ }, "name", { value: "GetAcceleratorType" });
+
+ /**
+ * Calls GetAcceleratorType.
+ * @function getAcceleratorType
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest} request GetAcceleratorTypeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listRuntimeVersions}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef ListRuntimeVersionsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse} [response] ListRuntimeVersionsResponse
+ */
+
+ /**
+ * Calls ListRuntimeVersions.
+ * @function listRuntimeVersions
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest} request ListRuntimeVersionsRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersionsCallback} callback Node-style callback called with the error, if any, and ListRuntimeVersionsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.listRuntimeVersions = function listRuntimeVersions(request, callback) {
+ return this.rpcCall(listRuntimeVersions, $root.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest, $root.google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse, request, callback);
+ }, "name", { value: "ListRuntimeVersions" });
+
+ /**
+ * Calls ListRuntimeVersions.
+ * @function listRuntimeVersions
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest} request ListRuntimeVersionsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getRuntimeVersion}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef GetRuntimeVersionCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.RuntimeVersion} [response] RuntimeVersion
+ */
+
+ /**
+ * Calls GetRuntimeVersion.
+ * @function getRuntimeVersion
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest} request GetRuntimeVersionRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersionCallback} callback Node-style callback called with the error, if any, and RuntimeVersion
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.getRuntimeVersion = function getRuntimeVersion(request, callback) {
+ return this.rpcCall(getRuntimeVersion, $root.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest, $root.google.cloud.tpu.v2alpha1.RuntimeVersion, request, callback);
+ }, "name", { value: "GetRuntimeVersion" });
+
+ /**
+ * Calls GetRuntimeVersion.
+ * @function getRuntimeVersion
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest} request GetRuntimeVersionRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getGuestAttributes}.
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @typedef GetGuestAttributesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.tpu.v2alpha1.GetGuestAttributesResponse} [response] GetGuestAttributesResponse
+ */
+
+ /**
+ * Calls GetGuestAttributes.
+ * @function getGuestAttributes
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest} request GetGuestAttributesRequest message or plain object
+ * @param {google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributesCallback} callback Node-style callback called with the error, if any, and GetGuestAttributesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Tpu.prototype.getGuestAttributes = function getGuestAttributes(request, callback) {
+ return this.rpcCall(getGuestAttributes, $root.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest, $root.google.cloud.tpu.v2alpha1.GetGuestAttributesResponse, request, callback);
+ }, "name", { value: "GetGuestAttributes" });
+
+ /**
+ * Calls GetGuestAttributes.
+ * @function getGuestAttributes
+ * @memberof google.cloud.tpu.v2alpha1.Tpu
+ * @instance
+ * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest} request GetGuestAttributesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return Tpu;
+ })();
+
+ v2alpha1.GuestAttributes = (function() {
+
+ /**
+ * Properties of a GuestAttributes.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IGuestAttributes
+ * @property {string|null} [queryPath] GuestAttributes queryPath
+ * @property {google.cloud.tpu.v2alpha1.IGuestAttributesValue|null} [queryValue] GuestAttributes queryValue
+ */
+
+ /**
+ * Constructs a new GuestAttributes.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a GuestAttributes.
+ * @implements IGuestAttributes
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributes=} [properties] Properties to set
+ */
+ function GuestAttributes(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]];
+ }
+
+ /**
+ * GuestAttributes queryPath.
+ * @member {string} queryPath
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @instance
+ */
+ GuestAttributes.prototype.queryPath = "";
+
+ /**
+ * GuestAttributes queryValue.
+ * @member {google.cloud.tpu.v2alpha1.IGuestAttributesValue|null|undefined} queryValue
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @instance
+ */
+ GuestAttributes.prototype.queryValue = null;
+
+ /**
+ * Creates a new GuestAttributes instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributes=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributes} GuestAttributes instance
+ */
+ GuestAttributes.create = function create(properties) {
+ return new GuestAttributes(properties);
+ };
+
+ /**
+ * Encodes the specified GuestAttributes message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributes.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributes} message GuestAttributes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GuestAttributes.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.queryPath != null && Object.hasOwnProperty.call(message, "queryPath"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.queryPath);
+ if (message.queryValue != null && Object.hasOwnProperty.call(message, "queryValue"))
+ $root.google.cloud.tpu.v2alpha1.GuestAttributesValue.encode(message.queryValue, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GuestAttributes message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributes.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributes} message GuestAttributes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GuestAttributes.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GuestAttributes message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributes} GuestAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GuestAttributes.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.tpu.v2alpha1.GuestAttributes();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.queryPath = reader.string();
+ break;
+ }
+ case 2: {
+ message.queryValue = $root.google.cloud.tpu.v2alpha1.GuestAttributesValue.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GuestAttributes message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributes} GuestAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GuestAttributes.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GuestAttributes message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GuestAttributes.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.queryPath != null && message.hasOwnProperty("queryPath"))
+ if (!$util.isString(message.queryPath))
+ return "queryPath: string expected";
+ if (message.queryValue != null && message.hasOwnProperty("queryValue")) {
+ var error = $root.google.cloud.tpu.v2alpha1.GuestAttributesValue.verify(message.queryValue);
+ if (error)
+ return "queryValue." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GuestAttributes message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributes} GuestAttributes
+ */
+ GuestAttributes.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.GuestAttributes)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.GuestAttributes();
+ if (object.queryPath != null)
+ message.queryPath = String(object.queryPath);
+ if (object.queryValue != null) {
+ if (typeof object.queryValue !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.GuestAttributes.queryValue: object expected");
+ message.queryValue = $root.google.cloud.tpu.v2alpha1.GuestAttributesValue.fromObject(object.queryValue);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GuestAttributes message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.GuestAttributes} message GuestAttributes
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GuestAttributes.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.queryPath = "";
+ object.queryValue = null;
+ }
+ if (message.queryPath != null && message.hasOwnProperty("queryPath"))
+ object.queryPath = message.queryPath;
+ if (message.queryValue != null && message.hasOwnProperty("queryValue"))
+ object.queryValue = $root.google.cloud.tpu.v2alpha1.GuestAttributesValue.toObject(message.queryValue, options);
+ return object;
+ };
+
+ /**
+ * Converts this GuestAttributes to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GuestAttributes.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GuestAttributes
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributes
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GuestAttributes.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GuestAttributes";
+ };
+
+ return GuestAttributes;
+ })();
+
+ v2alpha1.GuestAttributesValue = (function() {
+
+ /**
+ * Properties of a GuestAttributesValue.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IGuestAttributesValue
+ * @property {Array.|null} [items] GuestAttributesValue items
+ */
+
+ /**
+ * Constructs a new GuestAttributesValue.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a GuestAttributesValue.
+ * @implements IGuestAttributesValue
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesValue=} [properties] Properties to set
+ */
+ function GuestAttributesValue(properties) {
+ this.items = [];
+ 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]];
+ }
+
+ /**
+ * GuestAttributesValue items.
+ * @member {Array.} items
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @instance
+ */
+ GuestAttributesValue.prototype.items = $util.emptyArray;
+
+ /**
+ * Creates a new GuestAttributesValue instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesValue=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesValue} GuestAttributesValue instance
+ */
+ GuestAttributesValue.create = function create(properties) {
+ return new GuestAttributesValue(properties);
+ };
+
+ /**
+ * Encodes the specified GuestAttributesValue message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesValue.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesValue} message GuestAttributesValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GuestAttributesValue.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.items != null && message.items.length)
+ for (var i = 0; i < message.items.length; ++i)
+ $root.google.cloud.tpu.v2alpha1.GuestAttributesEntry.encode(message.items[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GuestAttributesValue message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesValue.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesValue} message GuestAttributesValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GuestAttributesValue.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GuestAttributesValue message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesValue} GuestAttributesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GuestAttributesValue.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.tpu.v2alpha1.GuestAttributesValue();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.items && message.items.length))
+ message.items = [];
+ message.items.push($root.google.cloud.tpu.v2alpha1.GuestAttributesEntry.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GuestAttributesValue message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesValue} GuestAttributesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GuestAttributesValue.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GuestAttributesValue message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GuestAttributesValue.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.items != null && message.hasOwnProperty("items")) {
+ if (!Array.isArray(message.items))
+ return "items: array expected";
+ for (var i = 0; i < message.items.length; ++i) {
+ var error = $root.google.cloud.tpu.v2alpha1.GuestAttributesEntry.verify(message.items[i]);
+ if (error)
+ return "items." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GuestAttributesValue message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesValue} GuestAttributesValue
+ */
+ GuestAttributesValue.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.GuestAttributesValue)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.GuestAttributesValue();
+ if (object.items) {
+ if (!Array.isArray(object.items))
+ throw TypeError(".google.cloud.tpu.v2alpha1.GuestAttributesValue.items: array expected");
+ message.items = [];
+ for (var i = 0; i < object.items.length; ++i) {
+ if (typeof object.items[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.GuestAttributesValue.items: object expected");
+ message.items[i] = $root.google.cloud.tpu.v2alpha1.GuestAttributesEntry.fromObject(object.items[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GuestAttributesValue message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.GuestAttributesValue} message GuestAttributesValue
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GuestAttributesValue.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.items = [];
+ if (message.items && message.items.length) {
+ object.items = [];
+ for (var j = 0; j < message.items.length; ++j)
+ object.items[j] = $root.google.cloud.tpu.v2alpha1.GuestAttributesEntry.toObject(message.items[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GuestAttributesValue to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GuestAttributesValue.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GuestAttributesValue
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesValue
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GuestAttributesValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GuestAttributesValue";
+ };
+
+ return GuestAttributesValue;
+ })();
+
+ v2alpha1.GuestAttributesEntry = (function() {
+
+ /**
+ * Properties of a GuestAttributesEntry.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IGuestAttributesEntry
+ * @property {string|null} [namespace] GuestAttributesEntry namespace
+ * @property {string|null} [key] GuestAttributesEntry key
+ * @property {string|null} [value] GuestAttributesEntry value
+ */
+
+ /**
+ * Constructs a new GuestAttributesEntry.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a GuestAttributesEntry.
+ * @implements IGuestAttributesEntry
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesEntry=} [properties] Properties to set
+ */
+ function GuestAttributesEntry(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]];
+ }
+
+ /**
+ * GuestAttributesEntry namespace.
+ * @member {string} namespace
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @instance
+ */
+ GuestAttributesEntry.prototype.namespace = "";
+
+ /**
+ * GuestAttributesEntry key.
+ * @member {string} key
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @instance
+ */
+ GuestAttributesEntry.prototype.key = "";
+
+ /**
+ * GuestAttributesEntry value.
+ * @member {string} value
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @instance
+ */
+ GuestAttributesEntry.prototype.value = "";
+
+ /**
+ * Creates a new GuestAttributesEntry instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesEntry=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesEntry} GuestAttributesEntry instance
+ */
+ GuestAttributesEntry.create = function create(properties) {
+ return new GuestAttributesEntry(properties);
+ };
+
+ /**
+ * Encodes the specified GuestAttributesEntry message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesEntry.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesEntry} message GuestAttributesEntry message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GuestAttributesEntry.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.namespace != null && Object.hasOwnProperty.call(message, "namespace"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.namespace);
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.key);
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.value);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GuestAttributesEntry message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GuestAttributesEntry.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGuestAttributesEntry} message GuestAttributesEntry message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GuestAttributesEntry.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GuestAttributesEntry message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesEntry} GuestAttributesEntry
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GuestAttributesEntry.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.tpu.v2alpha1.GuestAttributesEntry();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.namespace = reader.string();
+ break;
+ }
+ case 2: {
+ message.key = reader.string();
+ break;
+ }
+ case 3: {
+ message.value = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GuestAttributesEntry message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesEntry} GuestAttributesEntry
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GuestAttributesEntry.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GuestAttributesEntry message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GuestAttributesEntry.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ if (!$util.isString(message.namespace))
+ return "namespace: string expected";
+ if (message.key != null && message.hasOwnProperty("key"))
+ if (!$util.isString(message.key))
+ return "key: string expected";
+ if (message.value != null && message.hasOwnProperty("value"))
+ if (!$util.isString(message.value))
+ return "value: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GuestAttributesEntry message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.GuestAttributesEntry} GuestAttributesEntry
+ */
+ GuestAttributesEntry.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.GuestAttributesEntry)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.GuestAttributesEntry();
+ if (object.namespace != null)
+ message.namespace = String(object.namespace);
+ if (object.key != null)
+ message.key = String(object.key);
+ if (object.value != null)
+ message.value = String(object.value);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GuestAttributesEntry message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.GuestAttributesEntry} message GuestAttributesEntry
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GuestAttributesEntry.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.namespace = "";
+ object.key = "";
+ object.value = "";
+ }
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ object.namespace = message.namespace;
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = message.key;
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = message.value;
+ return object;
+ };
+
+ /**
+ * Converts this GuestAttributesEntry to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GuestAttributesEntry.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GuestAttributesEntry
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.GuestAttributesEntry
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GuestAttributesEntry.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GuestAttributesEntry";
+ };
+
+ return GuestAttributesEntry;
+ })();
+
+ v2alpha1.AttachedDisk = (function() {
+
+ /**
+ * Properties of an AttachedDisk.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IAttachedDisk
+ * @property {string|null} [sourceDisk] AttachedDisk sourceDisk
+ * @property {google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode|null} [mode] AttachedDisk mode
+ */
+
+ /**
+ * Constructs a new AttachedDisk.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents an AttachedDisk.
+ * @implements IAttachedDisk
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IAttachedDisk=} [properties] Properties to set
+ */
+ function AttachedDisk(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]];
+ }
+
+ /**
+ * AttachedDisk sourceDisk.
+ * @member {string} sourceDisk
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @instance
+ */
+ AttachedDisk.prototype.sourceDisk = "";
+
+ /**
+ * AttachedDisk mode.
+ * @member {google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode} mode
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @instance
+ */
+ AttachedDisk.prototype.mode = 0;
+
+ /**
+ * Creates a new AttachedDisk instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IAttachedDisk=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.AttachedDisk} AttachedDisk instance
+ */
+ AttachedDisk.create = function create(properties) {
+ return new AttachedDisk(properties);
+ };
+
+ /**
+ * Encodes the specified AttachedDisk message. Does not implicitly {@link google.cloud.tpu.v2alpha1.AttachedDisk.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IAttachedDisk} message AttachedDisk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttachedDisk.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.sourceDisk != null && Object.hasOwnProperty.call(message, "sourceDisk"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.sourceDisk);
+ if (message.mode != null && Object.hasOwnProperty.call(message, "mode"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.mode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AttachedDisk message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.AttachedDisk.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IAttachedDisk} message AttachedDisk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttachedDisk.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AttachedDisk message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.AttachedDisk} AttachedDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttachedDisk.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.tpu.v2alpha1.AttachedDisk();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.sourceDisk = reader.string();
+ break;
+ }
+ case 4: {
+ message.mode = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AttachedDisk message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.AttachedDisk} AttachedDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttachedDisk.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AttachedDisk message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AttachedDisk.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.sourceDisk != null && message.hasOwnProperty("sourceDisk"))
+ if (!$util.isString(message.sourceDisk))
+ return "sourceDisk: string expected";
+ if (message.mode != null && message.hasOwnProperty("mode"))
+ switch (message.mode) {
+ default:
+ return "mode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AttachedDisk message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.AttachedDisk} AttachedDisk
+ */
+ AttachedDisk.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.AttachedDisk)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.AttachedDisk();
+ if (object.sourceDisk != null)
+ message.sourceDisk = String(object.sourceDisk);
+ switch (object.mode) {
+ default:
+ if (typeof object.mode === "number") {
+ message.mode = object.mode;
+ break;
+ }
+ break;
+ case "DISK_MODE_UNSPECIFIED":
+ case 0:
+ message.mode = 0;
+ break;
+ case "READ_WRITE":
+ case 1:
+ message.mode = 1;
+ break;
+ case "READ_ONLY":
+ case 2:
+ message.mode = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AttachedDisk message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.AttachedDisk} message AttachedDisk
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AttachedDisk.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.sourceDisk = "";
+ object.mode = options.enums === String ? "DISK_MODE_UNSPECIFIED" : 0;
+ }
+ if (message.sourceDisk != null && message.hasOwnProperty("sourceDisk"))
+ object.sourceDisk = message.sourceDisk;
+ if (message.mode != null && message.hasOwnProperty("mode"))
+ object.mode = options.enums === String ? $root.google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode[message.mode] === undefined ? message.mode : $root.google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode[message.mode] : message.mode;
+ return object;
+ };
+
+ /**
+ * Converts this AttachedDisk to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AttachedDisk.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AttachedDisk
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.AttachedDisk
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AttachedDisk.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.AttachedDisk";
+ };
+
+ /**
+ * DiskMode enum.
+ * @name google.cloud.tpu.v2alpha1.AttachedDisk.DiskMode
+ * @enum {number}
+ * @property {number} DISK_MODE_UNSPECIFIED=0 DISK_MODE_UNSPECIFIED value
+ * @property {number} READ_WRITE=1 READ_WRITE value
+ * @property {number} READ_ONLY=2 READ_ONLY value
+ */
+ AttachedDisk.DiskMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DISK_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "READ_WRITE"] = 1;
+ values[valuesById[2] = "READ_ONLY"] = 2;
+ return values;
+ })();
+
+ return AttachedDisk;
+ })();
+
+ v2alpha1.SchedulingConfig = (function() {
+
+ /**
+ * Properties of a SchedulingConfig.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface ISchedulingConfig
+ * @property {boolean|null} [preemptible] SchedulingConfig preemptible
+ * @property {boolean|null} [reserved] SchedulingConfig reserved
+ */
+
+ /**
+ * Constructs a new SchedulingConfig.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a SchedulingConfig.
+ * @implements ISchedulingConfig
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.ISchedulingConfig=} [properties] Properties to set
+ */
+ function SchedulingConfig(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]];
+ }
+
+ /**
+ * SchedulingConfig preemptible.
+ * @member {boolean} preemptible
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @instance
+ */
+ SchedulingConfig.prototype.preemptible = false;
+
+ /**
+ * SchedulingConfig reserved.
+ * @member {boolean} reserved
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @instance
+ */
+ SchedulingConfig.prototype.reserved = false;
+
+ /**
+ * Creates a new SchedulingConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ISchedulingConfig=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.SchedulingConfig} SchedulingConfig instance
+ */
+ SchedulingConfig.create = function create(properties) {
+ return new SchedulingConfig(properties);
+ };
+
+ /**
+ * Encodes the specified SchedulingConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.SchedulingConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ISchedulingConfig} message SchedulingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchedulingConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.preemptible != null && Object.hasOwnProperty.call(message, "preemptible"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.preemptible);
+ if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.reserved);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SchedulingConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.SchedulingConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ISchedulingConfig} message SchedulingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchedulingConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.SchedulingConfig} SchedulingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchedulingConfig.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.tpu.v2alpha1.SchedulingConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.preemptible = reader.bool();
+ break;
+ }
+ case 2: {
+ message.reserved = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SchedulingConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.SchedulingConfig} SchedulingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchedulingConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SchedulingConfig message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SchedulingConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.preemptible != null && message.hasOwnProperty("preemptible"))
+ if (typeof message.preemptible !== "boolean")
+ return "preemptible: boolean expected";
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
+ if (typeof message.reserved !== "boolean")
+ return "reserved: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a SchedulingConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.SchedulingConfig} SchedulingConfig
+ */
+ SchedulingConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.SchedulingConfig)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.SchedulingConfig();
+ if (object.preemptible != null)
+ message.preemptible = Boolean(object.preemptible);
+ if (object.reserved != null)
+ message.reserved = Boolean(object.reserved);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SchedulingConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.SchedulingConfig} message SchedulingConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SchedulingConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.preemptible = false;
+ object.reserved = false;
+ }
+ if (message.preemptible != null && message.hasOwnProperty("preemptible"))
+ object.preemptible = message.preemptible;
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
+ object.reserved = message.reserved;
+ return object;
+ };
+
+ /**
+ * Converts this SchedulingConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SchedulingConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SchedulingConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.SchedulingConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SchedulingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.SchedulingConfig";
+ };
+
+ return SchedulingConfig;
+ })();
+
+ v2alpha1.NetworkEndpoint = (function() {
+
+ /**
+ * Properties of a NetworkEndpoint.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface INetworkEndpoint
+ * @property {string|null} [ipAddress] NetworkEndpoint ipAddress
+ * @property {number|null} [port] NetworkEndpoint port
+ * @property {google.cloud.tpu.v2alpha1.IAccessConfig|null} [accessConfig] NetworkEndpoint accessConfig
+ */
+
+ /**
+ * Constructs a new NetworkEndpoint.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a NetworkEndpoint.
+ * @implements INetworkEndpoint
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.INetworkEndpoint=} [properties] Properties to set
+ */
+ function NetworkEndpoint(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]];
+ }
+
+ /**
+ * NetworkEndpoint ipAddress.
+ * @member {string} ipAddress
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @instance
+ */
+ NetworkEndpoint.prototype.ipAddress = "";
+
+ /**
+ * NetworkEndpoint port.
+ * @member {number} port
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @instance
+ */
+ NetworkEndpoint.prototype.port = 0;
+
+ /**
+ * NetworkEndpoint accessConfig.
+ * @member {google.cloud.tpu.v2alpha1.IAccessConfig|null|undefined} accessConfig
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @instance
+ */
+ NetworkEndpoint.prototype.accessConfig = null;
+
+ /**
+ * Creates a new NetworkEndpoint instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INetworkEndpoint=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.NetworkEndpoint} NetworkEndpoint instance
+ */
+ NetworkEndpoint.create = function create(properties) {
+ return new NetworkEndpoint(properties);
+ };
+
+ /**
+ * Encodes the specified NetworkEndpoint message. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkEndpoint.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INetworkEndpoint} message NetworkEndpoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NetworkEndpoint.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.ipAddress);
+ if (message.port != null && Object.hasOwnProperty.call(message, "port"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.port);
+ if (message.accessConfig != null && Object.hasOwnProperty.call(message, "accessConfig"))
+ $root.google.cloud.tpu.v2alpha1.AccessConfig.encode(message.accessConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NetworkEndpoint message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkEndpoint.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INetworkEndpoint} message NetworkEndpoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NetworkEndpoint.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.NetworkEndpoint} NetworkEndpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NetworkEndpoint.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.tpu.v2alpha1.NetworkEndpoint();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.ipAddress = reader.string();
+ break;
+ }
+ case 2: {
+ message.port = reader.int32();
+ break;
+ }
+ case 5: {
+ message.accessConfig = $root.google.cloud.tpu.v2alpha1.AccessConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NetworkEndpoint message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.NetworkEndpoint} NetworkEndpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NetworkEndpoint.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NetworkEndpoint message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NetworkEndpoint.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ if (!$util.isString(message.ipAddress))
+ return "ipAddress: string expected";
+ if (message.port != null && message.hasOwnProperty("port"))
+ if (!$util.isInteger(message.port))
+ return "port: integer expected";
+ if (message.accessConfig != null && message.hasOwnProperty("accessConfig")) {
+ var error = $root.google.cloud.tpu.v2alpha1.AccessConfig.verify(message.accessConfig);
+ if (error)
+ return "accessConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a NetworkEndpoint message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.NetworkEndpoint} NetworkEndpoint
+ */
+ NetworkEndpoint.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.NetworkEndpoint)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.NetworkEndpoint();
+ if (object.ipAddress != null)
+ message.ipAddress = String(object.ipAddress);
+ if (object.port != null)
+ message.port = object.port | 0;
+ if (object.accessConfig != null) {
+ if (typeof object.accessConfig !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.NetworkEndpoint.accessConfig: object expected");
+ message.accessConfig = $root.google.cloud.tpu.v2alpha1.AccessConfig.fromObject(object.accessConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NetworkEndpoint message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.NetworkEndpoint} message NetworkEndpoint
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NetworkEndpoint.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.ipAddress = "";
+ object.port = 0;
+ object.accessConfig = null;
+ }
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ object.ipAddress = message.ipAddress;
+ if (message.port != null && message.hasOwnProperty("port"))
+ object.port = message.port;
+ if (message.accessConfig != null && message.hasOwnProperty("accessConfig"))
+ object.accessConfig = $root.google.cloud.tpu.v2alpha1.AccessConfig.toObject(message.accessConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this NetworkEndpoint to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NetworkEndpoint.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NetworkEndpoint
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.NetworkEndpoint
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NetworkEndpoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.NetworkEndpoint";
+ };
+
+ return NetworkEndpoint;
+ })();
+
+ v2alpha1.AccessConfig = (function() {
+
+ /**
+ * Properties of an AccessConfig.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IAccessConfig
+ * @property {string|null} [externalIp] AccessConfig externalIp
+ */
+
+ /**
+ * Constructs a new AccessConfig.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents an AccessConfig.
+ * @implements IAccessConfig
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IAccessConfig=} [properties] Properties to set
+ */
+ function AccessConfig(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]];
+ }
+
+ /**
+ * AccessConfig externalIp.
+ * @member {string} externalIp
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @instance
+ */
+ AccessConfig.prototype.externalIp = "";
+
+ /**
+ * Creates a new AccessConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IAccessConfig=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.AccessConfig} AccessConfig instance
+ */
+ AccessConfig.create = function create(properties) {
+ return new AccessConfig(properties);
+ };
+
+ /**
+ * Encodes the specified AccessConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.AccessConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IAccessConfig} message AccessConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AccessConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.externalIp != null && Object.hasOwnProperty.call(message, "externalIp"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.externalIp);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AccessConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.AccessConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IAccessConfig} message AccessConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AccessConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AccessConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.AccessConfig} AccessConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AccessConfig.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.tpu.v2alpha1.AccessConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.externalIp = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AccessConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.AccessConfig} AccessConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AccessConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AccessConfig message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AccessConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.externalIp != null && message.hasOwnProperty("externalIp"))
+ if (!$util.isString(message.externalIp))
+ return "externalIp: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AccessConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.AccessConfig} AccessConfig
+ */
+ AccessConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.AccessConfig)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.AccessConfig();
+ if (object.externalIp != null)
+ message.externalIp = String(object.externalIp);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AccessConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.AccessConfig} message AccessConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AccessConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.externalIp = "";
+ if (message.externalIp != null && message.hasOwnProperty("externalIp"))
+ object.externalIp = message.externalIp;
+ return object;
+ };
+
+ /**
+ * Converts this AccessConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AccessConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AccessConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.AccessConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AccessConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.AccessConfig";
+ };
+
+ return AccessConfig;
+ })();
+
+ v2alpha1.NetworkConfig = (function() {
+
+ /**
+ * Properties of a NetworkConfig.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface INetworkConfig
+ * @property {string|null} [network] NetworkConfig network
+ * @property {string|null} [subnetwork] NetworkConfig subnetwork
+ * @property {boolean|null} [enableExternalIps] NetworkConfig enableExternalIps
+ */
+
+ /**
+ * Constructs a new NetworkConfig.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a NetworkConfig.
+ * @implements INetworkConfig
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.INetworkConfig=} [properties] Properties to set
+ */
+ function NetworkConfig(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]];
+ }
+
+ /**
+ * NetworkConfig network.
+ * @member {string} network
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @instance
+ */
+ NetworkConfig.prototype.network = "";
+
+ /**
+ * NetworkConfig subnetwork.
+ * @member {string} subnetwork
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @instance
+ */
+ NetworkConfig.prototype.subnetwork = "";
+
+ /**
+ * NetworkConfig enableExternalIps.
+ * @member {boolean} enableExternalIps
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @instance
+ */
+ NetworkConfig.prototype.enableExternalIps = false;
+
+ /**
+ * Creates a new NetworkConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INetworkConfig=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.NetworkConfig} NetworkConfig instance
+ */
+ NetworkConfig.create = function create(properties) {
+ return new NetworkConfig(properties);
+ };
+
+ /**
+ * Encodes the specified NetworkConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INetworkConfig} message NetworkConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NetworkConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.network != null && Object.hasOwnProperty.call(message, "network"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.network);
+ if (message.subnetwork != null && Object.hasOwnProperty.call(message, "subnetwork"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.subnetwork);
+ if (message.enableExternalIps != null && Object.hasOwnProperty.call(message, "enableExternalIps"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.enableExternalIps);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NetworkConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.NetworkConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INetworkConfig} message NetworkConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NetworkConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NetworkConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.NetworkConfig} NetworkConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NetworkConfig.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.tpu.v2alpha1.NetworkConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.network = reader.string();
+ break;
+ }
+ case 2: {
+ message.subnetwork = reader.string();
+ break;
+ }
+ case 3: {
+ message.enableExternalIps = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NetworkConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.NetworkConfig} NetworkConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NetworkConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NetworkConfig message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NetworkConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.network != null && message.hasOwnProperty("network"))
+ if (!$util.isString(message.network))
+ return "network: string expected";
+ if (message.subnetwork != null && message.hasOwnProperty("subnetwork"))
+ if (!$util.isString(message.subnetwork))
+ return "subnetwork: string expected";
+ if (message.enableExternalIps != null && message.hasOwnProperty("enableExternalIps"))
+ if (typeof message.enableExternalIps !== "boolean")
+ return "enableExternalIps: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a NetworkConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.NetworkConfig} NetworkConfig
+ */
+ NetworkConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.NetworkConfig)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.NetworkConfig();
+ if (object.network != null)
+ message.network = String(object.network);
+ if (object.subnetwork != null)
+ message.subnetwork = String(object.subnetwork);
+ if (object.enableExternalIps != null)
+ message.enableExternalIps = Boolean(object.enableExternalIps);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NetworkConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.NetworkConfig} message NetworkConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NetworkConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.network = "";
+ object.subnetwork = "";
+ object.enableExternalIps = false;
+ }
+ if (message.network != null && message.hasOwnProperty("network"))
+ object.network = message.network;
+ if (message.subnetwork != null && message.hasOwnProperty("subnetwork"))
+ object.subnetwork = message.subnetwork;
+ if (message.enableExternalIps != null && message.hasOwnProperty("enableExternalIps"))
+ object.enableExternalIps = message.enableExternalIps;
+ return object;
+ };
+
+ /**
+ * Converts this NetworkConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NetworkConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NetworkConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.NetworkConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NetworkConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.NetworkConfig";
+ };
+
+ return NetworkConfig;
+ })();
+
+ v2alpha1.ServiceAccount = (function() {
+
+ /**
+ * Properties of a ServiceAccount.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IServiceAccount
+ * @property {string|null} [email] ServiceAccount email
+ * @property {Array.|null} [scope] ServiceAccount scope
+ */
+
+ /**
+ * Constructs a new ServiceAccount.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a ServiceAccount.
+ * @implements IServiceAccount
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IServiceAccount=} [properties] Properties to set
+ */
+ function ServiceAccount(properties) {
+ this.scope = [];
+ 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]];
+ }
+
+ /**
+ * ServiceAccount email.
+ * @member {string} email
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @instance
+ */
+ ServiceAccount.prototype.email = "";
+
+ /**
+ * ServiceAccount scope.
+ * @member {Array.} scope
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @instance
+ */
+ ServiceAccount.prototype.scope = $util.emptyArray;
+
+ /**
+ * Creates a new ServiceAccount instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IServiceAccount=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.ServiceAccount} ServiceAccount instance
+ */
+ ServiceAccount.create = function create(properties) {
+ return new ServiceAccount(properties);
+ };
+
+ /**
+ * Encodes the specified ServiceAccount message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceAccount.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IServiceAccount} message ServiceAccount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceAccount.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.email != null && Object.hasOwnProperty.call(message, "email"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.email);
+ if (message.scope != null && message.scope.length)
+ for (var i = 0; i < message.scope.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.scope[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ServiceAccount message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceAccount.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IServiceAccount} message ServiceAccount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceAccount.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.ServiceAccount} ServiceAccount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceAccount.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.tpu.v2alpha1.ServiceAccount();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.email = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.scope && message.scope.length))
+ message.scope = [];
+ message.scope.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.ServiceAccount} ServiceAccount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceAccount.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ServiceAccount message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ServiceAccount.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.email != null && message.hasOwnProperty("email"))
+ if (!$util.isString(message.email))
+ return "email: string expected";
+ if (message.scope != null && message.hasOwnProperty("scope")) {
+ if (!Array.isArray(message.scope))
+ return "scope: array expected";
+ for (var i = 0; i < message.scope.length; ++i)
+ if (!$util.isString(message.scope[i]))
+ return "scope: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ServiceAccount message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.ServiceAccount} ServiceAccount
+ */
+ ServiceAccount.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.ServiceAccount)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.ServiceAccount();
+ if (object.email != null)
+ message.email = String(object.email);
+ if (object.scope) {
+ if (!Array.isArray(object.scope))
+ throw TypeError(".google.cloud.tpu.v2alpha1.ServiceAccount.scope: array expected");
+ message.scope = [];
+ for (var i = 0; i < object.scope.length; ++i)
+ message.scope[i] = String(object.scope[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ServiceAccount message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ServiceAccount} message ServiceAccount
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ServiceAccount.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.scope = [];
+ if (options.defaults)
+ object.email = "";
+ if (message.email != null && message.hasOwnProperty("email"))
+ object.email = message.email;
+ if (message.scope && message.scope.length) {
+ object.scope = [];
+ for (var j = 0; j < message.scope.length; ++j)
+ object.scope[j] = message.scope[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ServiceAccount to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ServiceAccount.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ServiceAccount
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.ServiceAccount
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ServiceAccount.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.ServiceAccount";
+ };
+
+ return ServiceAccount;
+ })();
+
+ v2alpha1.Node = (function() {
+
+ /**
+ * Properties of a Node.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface INode
+ * @property {string|null} [name] Node name
+ * @property {string|null} [description] Node description
+ * @property {string|null} [acceleratorType] Node acceleratorType
+ * @property {google.cloud.tpu.v2alpha1.Node.State|null} [state] Node state
+ * @property {string|null} [healthDescription] Node healthDescription
+ * @property {string|null} [runtimeVersion] Node runtimeVersion
+ * @property {google.cloud.tpu.v2alpha1.INetworkConfig|null} [networkConfig] Node networkConfig
+ * @property {string|null} [cidrBlock] Node cidrBlock
+ * @property {google.cloud.tpu.v2alpha1.IServiceAccount|null} [serviceAccount] Node serviceAccount
+ * @property {google.protobuf.ITimestamp|null} [createTime] Node createTime
+ * @property {google.cloud.tpu.v2alpha1.ISchedulingConfig|null} [schedulingConfig] Node schedulingConfig
+ * @property {Array.|null} [networkEndpoints] Node networkEndpoints
+ * @property {google.cloud.tpu.v2alpha1.Node.Health|null} [health] Node health
+ * @property {Object.|null} [labels] Node labels
+ * @property {Object.|null} [metadata] Node metadata
+ * @property {Array.|null} [tags] Node tags
+ * @property {number|Long|null} [id] Node id
+ * @property {Array.|null} [dataDisks] Node dataDisks
+ * @property {google.cloud.tpu.v2alpha1.Node.ApiVersion|null} [apiVersion] Node apiVersion
+ * @property {Array.|null} [symptoms] Node symptoms
+ * @property {google.cloud.tpu.v2alpha1.IShieldedInstanceConfig|null} [shieldedInstanceConfig] Node shieldedInstanceConfig
+ */
+
+ /**
+ * Constructs a new Node.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a Node.
+ * @implements INode
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.INode=} [properties] Properties to set
+ */
+ function Node(properties) {
+ this.networkEndpoints = [];
+ this.labels = {};
+ this.metadata = {};
+ this.tags = [];
+ this.dataDisks = [];
+ this.symptoms = [];
+ 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]];
+ }
+
+ /**
+ * Node name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.name = "";
+
+ /**
+ * Node description.
+ * @member {string} description
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.description = "";
+
+ /**
+ * Node acceleratorType.
+ * @member {string} acceleratorType
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.acceleratorType = "";
+
+ /**
+ * Node state.
+ * @member {google.cloud.tpu.v2alpha1.Node.State} state
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.state = 0;
+
+ /**
+ * Node healthDescription.
+ * @member {string} healthDescription
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.healthDescription = "";
+
+ /**
+ * Node runtimeVersion.
+ * @member {string} runtimeVersion
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.runtimeVersion = "";
+
+ /**
+ * Node networkConfig.
+ * @member {google.cloud.tpu.v2alpha1.INetworkConfig|null|undefined} networkConfig
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.networkConfig = null;
+
+ /**
+ * Node cidrBlock.
+ * @member {string} cidrBlock
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.cidrBlock = "";
+
+ /**
+ * Node serviceAccount.
+ * @member {google.cloud.tpu.v2alpha1.IServiceAccount|null|undefined} serviceAccount
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.serviceAccount = null;
+
+ /**
+ * Node createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.createTime = null;
+
+ /**
+ * Node schedulingConfig.
+ * @member {google.cloud.tpu.v2alpha1.ISchedulingConfig|null|undefined} schedulingConfig
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.schedulingConfig = null;
+
+ /**
+ * Node networkEndpoints.
+ * @member {Array.} networkEndpoints
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.networkEndpoints = $util.emptyArray;
+
+ /**
+ * Node health.
+ * @member {google.cloud.tpu.v2alpha1.Node.Health} health
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.health = 0;
+
+ /**
+ * Node labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.labels = $util.emptyObject;
+
+ /**
+ * Node metadata.
+ * @member {Object.} metadata
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.metadata = $util.emptyObject;
+
+ /**
+ * Node tags.
+ * @member {Array.} tags
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.tags = $util.emptyArray;
+
+ /**
+ * Node id.
+ * @member {number|Long} id
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.id = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * Node dataDisks.
+ * @member {Array.} dataDisks
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.dataDisks = $util.emptyArray;
+
+ /**
+ * Node apiVersion.
+ * @member {google.cloud.tpu.v2alpha1.Node.ApiVersion} apiVersion
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.apiVersion = 0;
+
+ /**
+ * Node symptoms.
+ * @member {Array.} symptoms
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.symptoms = $util.emptyArray;
+
+ /**
+ * Node shieldedInstanceConfig.
+ * @member {google.cloud.tpu.v2alpha1.IShieldedInstanceConfig|null|undefined} shieldedInstanceConfig
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ */
+ Node.prototype.shieldedInstanceConfig = null;
+
+ /**
+ * Creates a new Node instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INode=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.Node} Node instance
+ */
+ Node.create = function create(properties) {
+ return new Node(properties);
+ };
+
+ /**
+ * Encodes the specified Node message. Does not implicitly {@link google.cloud.tpu.v2alpha1.Node.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INode} message Node message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Node.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.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.description);
+ if (message.acceleratorType != null && Object.hasOwnProperty.call(message, "acceleratorType"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.acceleratorType);
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.state);
+ if (message.healthDescription != null && Object.hasOwnProperty.call(message, "healthDescription"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.healthDescription);
+ if (message.runtimeVersion != null && Object.hasOwnProperty.call(message, "runtimeVersion"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.runtimeVersion);
+ if (message.cidrBlock != null && Object.hasOwnProperty.call(message, "cidrBlock"))
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.cidrBlock);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
+ if (message.schedulingConfig != null && Object.hasOwnProperty.call(message, "schedulingConfig"))
+ $root.google.cloud.tpu.v2alpha1.SchedulingConfig.encode(message.schedulingConfig, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();
+ if (message.networkEndpoints != null && message.networkEndpoints.length)
+ for (var i = 0; i < message.networkEndpoints.length; ++i)
+ $root.google.cloud.tpu.v2alpha1.NetworkEndpoint.encode(message.networkEndpoints[i], writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+ if (message.health != null && Object.hasOwnProperty.call(message, "health"))
+ writer.uint32(/* id 22, wireType 0 =*/176).int32(message.health);
+ 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 24, wireType 2 =*/194).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
+ writer.uint32(/* id 33, wireType 0 =*/264).int64(message.id);
+ if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
+ for (var keys = Object.keys(message.metadata), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 34, wireType 2 =*/274).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.metadata[keys[i]]).ldelim();
+ if (message.networkConfig != null && Object.hasOwnProperty.call(message, "networkConfig"))
+ $root.google.cloud.tpu.v2alpha1.NetworkConfig.encode(message.networkConfig, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim();
+ if (message.serviceAccount != null && Object.hasOwnProperty.call(message, "serviceAccount"))
+ $root.google.cloud.tpu.v2alpha1.ServiceAccount.encode(message.serviceAccount, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim();
+ if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion"))
+ writer.uint32(/* id 38, wireType 0 =*/304).int32(message.apiVersion);
+ if (message.symptoms != null && message.symptoms.length)
+ for (var i = 0; i < message.symptoms.length; ++i)
+ $root.google.cloud.tpu.v2alpha1.Symptom.encode(message.symptoms[i], writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim();
+ if (message.tags != null && message.tags.length)
+ for (var i = 0; i < message.tags.length; ++i)
+ writer.uint32(/* id 40, wireType 2 =*/322).string(message.tags[i]);
+ if (message.dataDisks != null && message.dataDisks.length)
+ for (var i = 0; i < message.dataDisks.length; ++i)
+ $root.google.cloud.tpu.v2alpha1.AttachedDisk.encode(message.dataDisks[i], writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim();
+ if (message.shieldedInstanceConfig != null && Object.hasOwnProperty.call(message, "shieldedInstanceConfig"))
+ $root.google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.encode(message.shieldedInstanceConfig, writer.uint32(/* id 45, wireType 2 =*/362).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Node message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.Node.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.INode} message Node message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Node.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Node message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.Node} Node
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Node.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.tpu.v2alpha1.Node(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.description = reader.string();
+ break;
+ }
+ case 5: {
+ message.acceleratorType = reader.string();
+ break;
+ }
+ case 9: {
+ message.state = reader.int32();
+ break;
+ }
+ case 10: {
+ message.healthDescription = reader.string();
+ break;
+ }
+ case 11: {
+ message.runtimeVersion = reader.string();
+ break;
+ }
+ case 36: {
+ message.networkConfig = $root.google.cloud.tpu.v2alpha1.NetworkConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.cidrBlock = reader.string();
+ break;
+ }
+ case 37: {
+ message.serviceAccount = $root.google.cloud.tpu.v2alpha1.ServiceAccount.decode(reader, reader.uint32());
+ break;
+ }
+ case 16: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 17: {
+ message.schedulingConfig = $root.google.cloud.tpu.v2alpha1.SchedulingConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 21: {
+ if (!(message.networkEndpoints && message.networkEndpoints.length))
+ message.networkEndpoints = [];
+ message.networkEndpoints.push($root.google.cloud.tpu.v2alpha1.NetworkEndpoint.decode(reader, reader.uint32()));
+ break;
+ }
+ case 22: {
+ message.health = reader.int32();
+ break;
+ }
+ case 24: {
+ 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 34: {
+ if (message.metadata === $util.emptyObject)
+ message.metadata = {};
+ 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.metadata[key] = value;
+ break;
+ }
+ case 40: {
+ if (!(message.tags && message.tags.length))
+ message.tags = [];
+ message.tags.push(reader.string());
+ break;
+ }
+ case 33: {
+ message.id = reader.int64();
+ break;
+ }
+ case 41: {
+ if (!(message.dataDisks && message.dataDisks.length))
+ message.dataDisks = [];
+ message.dataDisks.push($root.google.cloud.tpu.v2alpha1.AttachedDisk.decode(reader, reader.uint32()));
+ break;
+ }
+ case 38: {
+ message.apiVersion = reader.int32();
+ break;
+ }
+ case 39: {
+ if (!(message.symptoms && message.symptoms.length))
+ message.symptoms = [];
+ message.symptoms.push($root.google.cloud.tpu.v2alpha1.Symptom.decode(reader, reader.uint32()));
+ break;
+ }
+ case 45: {
+ message.shieldedInstanceConfig = $root.google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Node message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.Node} Node
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Node.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Node message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Node.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.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.acceleratorType != null && message.hasOwnProperty("acceleratorType"))
+ if (!$util.isString(message.acceleratorType))
+ return "acceleratorType: 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 4:
+ case 5:
+ case 6:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ break;
+ }
+ if (message.healthDescription != null && message.hasOwnProperty("healthDescription"))
+ if (!$util.isString(message.healthDescription))
+ return "healthDescription: string expected";
+ if (message.runtimeVersion != null && message.hasOwnProperty("runtimeVersion"))
+ if (!$util.isString(message.runtimeVersion))
+ return "runtimeVersion: string expected";
+ if (message.networkConfig != null && message.hasOwnProperty("networkConfig")) {
+ var error = $root.google.cloud.tpu.v2alpha1.NetworkConfig.verify(message.networkConfig);
+ if (error)
+ return "networkConfig." + error;
+ }
+ if (message.cidrBlock != null && message.hasOwnProperty("cidrBlock"))
+ if (!$util.isString(message.cidrBlock))
+ return "cidrBlock: string expected";
+ if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) {
+ var error = $root.google.cloud.tpu.v2alpha1.ServiceAccount.verify(message.serviceAccount);
+ if (error)
+ return "serviceAccount." + error;
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.schedulingConfig != null && message.hasOwnProperty("schedulingConfig")) {
+ var error = $root.google.cloud.tpu.v2alpha1.SchedulingConfig.verify(message.schedulingConfig);
+ if (error)
+ return "schedulingConfig." + error;
+ }
+ if (message.networkEndpoints != null && message.hasOwnProperty("networkEndpoints")) {
+ if (!Array.isArray(message.networkEndpoints))
+ return "networkEndpoints: array expected";
+ for (var i = 0; i < message.networkEndpoints.length; ++i) {
+ var error = $root.google.cloud.tpu.v2alpha1.NetworkEndpoint.verify(message.networkEndpoints[i]);
+ if (error)
+ return "networkEndpoints." + error;
+ }
+ }
+ if (message.health != null && message.hasOwnProperty("health"))
+ switch (message.health) {
+ default:
+ return "health: enum value expected";
+ case 0:
+ case 1:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ 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.metadata != null && message.hasOwnProperty("metadata")) {
+ if (!$util.isObject(message.metadata))
+ return "metadata: object expected";
+ var key = Object.keys(message.metadata);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.metadata[key[i]]))
+ return "metadata: string{k:string} 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";
+ }
+ if (message.id != null && message.hasOwnProperty("id"))
+ if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
+ return "id: integer|Long expected";
+ if (message.dataDisks != null && message.hasOwnProperty("dataDisks")) {
+ if (!Array.isArray(message.dataDisks))
+ return "dataDisks: array expected";
+ for (var i = 0; i < message.dataDisks.length; ++i) {
+ var error = $root.google.cloud.tpu.v2alpha1.AttachedDisk.verify(message.dataDisks[i]);
+ if (error)
+ return "dataDisks." + error;
+ }
+ }
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ switch (message.apiVersion) {
+ default:
+ return "apiVersion: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.symptoms != null && message.hasOwnProperty("symptoms")) {
+ if (!Array.isArray(message.symptoms))
+ return "symptoms: array expected";
+ for (var i = 0; i < message.symptoms.length; ++i) {
+ var error = $root.google.cloud.tpu.v2alpha1.Symptom.verify(message.symptoms[i]);
+ if (error)
+ return "symptoms." + error;
+ }
+ }
+ if (message.shieldedInstanceConfig != null && message.hasOwnProperty("shieldedInstanceConfig")) {
+ var error = $root.google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.verify(message.shieldedInstanceConfig);
+ if (error)
+ return "shieldedInstanceConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Node message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.Node} Node
+ */
+ Node.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.Node)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.Node();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.acceleratorType != null)
+ message.acceleratorType = String(object.acceleratorType);
+ 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 "READY":
+ case 2:
+ message.state = 2;
+ break;
+ case "RESTARTING":
+ case 3:
+ message.state = 3;
+ break;
+ case "REIMAGING":
+ case 4:
+ message.state = 4;
+ break;
+ case "DELETING":
+ case 5:
+ message.state = 5;
+ break;
+ case "REPAIRING":
+ case 6:
+ message.state = 6;
+ break;
+ case "STOPPED":
+ case 8:
+ message.state = 8;
+ break;
+ case "STOPPING":
+ case 9:
+ message.state = 9;
+ break;
+ case "STARTING":
+ case 10:
+ message.state = 10;
+ break;
+ case "PREEMPTED":
+ case 11:
+ message.state = 11;
+ break;
+ case "TERMINATED":
+ case 12:
+ message.state = 12;
+ break;
+ case "HIDING":
+ case 13:
+ message.state = 13;
+ break;
+ case "HIDDEN":
+ case 14:
+ message.state = 14;
+ break;
+ case "UNHIDING":
+ case 15:
+ message.state = 15;
+ break;
+ }
+ if (object.healthDescription != null)
+ message.healthDescription = String(object.healthDescription);
+ if (object.runtimeVersion != null)
+ message.runtimeVersion = String(object.runtimeVersion);
+ if (object.networkConfig != null) {
+ if (typeof object.networkConfig !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.networkConfig: object expected");
+ message.networkConfig = $root.google.cloud.tpu.v2alpha1.NetworkConfig.fromObject(object.networkConfig);
+ }
+ if (object.cidrBlock != null)
+ message.cidrBlock = String(object.cidrBlock);
+ if (object.serviceAccount != null) {
+ if (typeof object.serviceAccount !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.serviceAccount: object expected");
+ message.serviceAccount = $root.google.cloud.tpu.v2alpha1.ServiceAccount.fromObject(object.serviceAccount);
+ }
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.schedulingConfig != null) {
+ if (typeof object.schedulingConfig !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.schedulingConfig: object expected");
+ message.schedulingConfig = $root.google.cloud.tpu.v2alpha1.SchedulingConfig.fromObject(object.schedulingConfig);
+ }
+ if (object.networkEndpoints) {
+ if (!Array.isArray(object.networkEndpoints))
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.networkEndpoints: array expected");
+ message.networkEndpoints = [];
+ for (var i = 0; i < object.networkEndpoints.length; ++i) {
+ if (typeof object.networkEndpoints[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.networkEndpoints: object expected");
+ message.networkEndpoints[i] = $root.google.cloud.tpu.v2alpha1.NetworkEndpoint.fromObject(object.networkEndpoints[i]);
+ }
+ }
+ switch (object.health) {
+ default:
+ if (typeof object.health === "number") {
+ message.health = object.health;
+ break;
+ }
+ break;
+ case "HEALTH_UNSPECIFIED":
+ case 0:
+ message.health = 0;
+ break;
+ case "HEALTHY":
+ case 1:
+ message.health = 1;
+ break;
+ case "TIMEOUT":
+ case 3:
+ message.health = 3;
+ break;
+ case "UNHEALTHY_TENSORFLOW":
+ case 4:
+ message.health = 4;
+ break;
+ case "UNHEALTHY_MAINTENANCE":
+ case 5:
+ message.health = 5;
+ break;
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.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.metadata) {
+ if (typeof object.metadata !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.metadata: object expected");
+ message.metadata = {};
+ for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i)
+ message.metadata[keys[i]] = String(object.metadata[keys[i]]);
+ }
+ if (object.tags) {
+ if (!Array.isArray(object.tags))
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.tags: array expected");
+ message.tags = [];
+ for (var i = 0; i < object.tags.length; ++i)
+ message.tags[i] = String(object.tags[i]);
+ }
+ if (object.id != null)
+ if ($util.Long)
+ (message.id = $util.Long.fromValue(object.id)).unsigned = false;
+ else if (typeof object.id === "string")
+ message.id = parseInt(object.id, 10);
+ else if (typeof object.id === "number")
+ message.id = object.id;
+ else if (typeof object.id === "object")
+ message.id = new $util.LongBits(object.id.low >>> 0, object.id.high >>> 0).toNumber();
+ if (object.dataDisks) {
+ if (!Array.isArray(object.dataDisks))
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.dataDisks: array expected");
+ message.dataDisks = [];
+ for (var i = 0; i < object.dataDisks.length; ++i) {
+ if (typeof object.dataDisks[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.dataDisks: object expected");
+ message.dataDisks[i] = $root.google.cloud.tpu.v2alpha1.AttachedDisk.fromObject(object.dataDisks[i]);
+ }
+ }
+ switch (object.apiVersion) {
+ default:
+ if (typeof object.apiVersion === "number") {
+ message.apiVersion = object.apiVersion;
+ break;
+ }
+ break;
+ case "API_VERSION_UNSPECIFIED":
+ case 0:
+ message.apiVersion = 0;
+ break;
+ case "V1_ALPHA1":
+ case 1:
+ message.apiVersion = 1;
+ break;
+ case "V1":
+ case 2:
+ message.apiVersion = 2;
+ break;
+ case "V2_ALPHA1":
+ case 3:
+ message.apiVersion = 3;
+ break;
+ }
+ if (object.symptoms) {
+ if (!Array.isArray(object.symptoms))
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.symptoms: array expected");
+ message.symptoms = [];
+ for (var i = 0; i < object.symptoms.length; ++i) {
+ if (typeof object.symptoms[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.symptoms: object expected");
+ message.symptoms[i] = $root.google.cloud.tpu.v2alpha1.Symptom.fromObject(object.symptoms[i]);
+ }
+ }
+ if (object.shieldedInstanceConfig != null) {
+ if (typeof object.shieldedInstanceConfig !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.Node.shieldedInstanceConfig: object expected");
+ message.shieldedInstanceConfig = $root.google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.fromObject(object.shieldedInstanceConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Node message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.Node} message Node
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Node.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.networkEndpoints = [];
+ object.symptoms = [];
+ object.tags = [];
+ object.dataDisks = [];
+ }
+ if (options.objects || options.defaults) {
+ object.labels = {};
+ object.metadata = {};
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.description = "";
+ object.acceleratorType = "";
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.healthDescription = "";
+ object.runtimeVersion = "";
+ object.cidrBlock = "";
+ object.createTime = null;
+ object.schedulingConfig = null;
+ object.health = options.enums === String ? "HEALTH_UNSPECIFIED" : 0;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.id = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.id = options.longs === String ? "0" : 0;
+ object.networkConfig = null;
+ object.serviceAccount = null;
+ object.apiVersion = options.enums === String ? "API_VERSION_UNSPECIFIED" : 0;
+ object.shieldedInstanceConfig = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.acceleratorType != null && message.hasOwnProperty("acceleratorType"))
+ object.acceleratorType = message.acceleratorType;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.tpu.v2alpha1.Node.State[message.state] === undefined ? message.state : $root.google.cloud.tpu.v2alpha1.Node.State[message.state] : message.state;
+ if (message.healthDescription != null && message.hasOwnProperty("healthDescription"))
+ object.healthDescription = message.healthDescription;
+ if (message.runtimeVersion != null && message.hasOwnProperty("runtimeVersion"))
+ object.runtimeVersion = message.runtimeVersion;
+ if (message.cidrBlock != null && message.hasOwnProperty("cidrBlock"))
+ object.cidrBlock = message.cidrBlock;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.schedulingConfig != null && message.hasOwnProperty("schedulingConfig"))
+ object.schedulingConfig = $root.google.cloud.tpu.v2alpha1.SchedulingConfig.toObject(message.schedulingConfig, options);
+ if (message.networkEndpoints && message.networkEndpoints.length) {
+ object.networkEndpoints = [];
+ for (var j = 0; j < message.networkEndpoints.length; ++j)
+ object.networkEndpoints[j] = $root.google.cloud.tpu.v2alpha1.NetworkEndpoint.toObject(message.networkEndpoints[j], options);
+ }
+ if (message.health != null && message.hasOwnProperty("health"))
+ object.health = options.enums === String ? $root.google.cloud.tpu.v2alpha1.Node.Health[message.health] === undefined ? message.health : $root.google.cloud.tpu.v2alpha1.Node.Health[message.health] : message.health;
+ 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.id != null && message.hasOwnProperty("id"))
+ if (typeof message.id === "number")
+ object.id = options.longs === String ? String(message.id) : message.id;
+ else
+ object.id = options.longs === String ? $util.Long.prototype.toString.call(message.id) : options.longs === Number ? new $util.LongBits(message.id.low >>> 0, message.id.high >>> 0).toNumber() : message.id;
+ if (message.metadata && (keys2 = Object.keys(message.metadata)).length) {
+ object.metadata = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.metadata[keys2[j]] = message.metadata[keys2[j]];
+ }
+ if (message.networkConfig != null && message.hasOwnProperty("networkConfig"))
+ object.networkConfig = $root.google.cloud.tpu.v2alpha1.NetworkConfig.toObject(message.networkConfig, options);
+ if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount"))
+ object.serviceAccount = $root.google.cloud.tpu.v2alpha1.ServiceAccount.toObject(message.serviceAccount, options);
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ object.apiVersion = options.enums === String ? $root.google.cloud.tpu.v2alpha1.Node.ApiVersion[message.apiVersion] === undefined ? message.apiVersion : $root.google.cloud.tpu.v2alpha1.Node.ApiVersion[message.apiVersion] : message.apiVersion;
+ if (message.symptoms && message.symptoms.length) {
+ object.symptoms = [];
+ for (var j = 0; j < message.symptoms.length; ++j)
+ object.symptoms[j] = $root.google.cloud.tpu.v2alpha1.Symptom.toObject(message.symptoms[j], options);
+ }
+ if (message.tags && message.tags.length) {
+ object.tags = [];
+ for (var j = 0; j < message.tags.length; ++j)
+ object.tags[j] = message.tags[j];
+ }
+ if (message.dataDisks && message.dataDisks.length) {
+ object.dataDisks = [];
+ for (var j = 0; j < message.dataDisks.length; ++j)
+ object.dataDisks[j] = $root.google.cloud.tpu.v2alpha1.AttachedDisk.toObject(message.dataDisks[j], options);
+ }
+ if (message.shieldedInstanceConfig != null && message.hasOwnProperty("shieldedInstanceConfig"))
+ object.shieldedInstanceConfig = $root.google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.toObject(message.shieldedInstanceConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this Node to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Node.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Node
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.Node
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Node.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.Node";
+ };
+
+ /**
+ * State enum.
+ * @name google.cloud.tpu.v2alpha1.Node.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} CREATING=1 CREATING value
+ * @property {number} READY=2 READY value
+ * @property {number} RESTARTING=3 RESTARTING value
+ * @property {number} REIMAGING=4 REIMAGING value
+ * @property {number} DELETING=5 DELETING value
+ * @property {number} REPAIRING=6 REPAIRING value
+ * @property {number} STOPPED=8 STOPPED value
+ * @property {number} STOPPING=9 STOPPING value
+ * @property {number} STARTING=10 STARTING value
+ * @property {number} PREEMPTED=11 PREEMPTED value
+ * @property {number} TERMINATED=12 TERMINATED value
+ * @property {number} HIDING=13 HIDING value
+ * @property {number} HIDDEN=14 HIDDEN value
+ * @property {number} UNHIDING=15 UNHIDING value
+ */
+ Node.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CREATING"] = 1;
+ values[valuesById[2] = "READY"] = 2;
+ values[valuesById[3] = "RESTARTING"] = 3;
+ values[valuesById[4] = "REIMAGING"] = 4;
+ values[valuesById[5] = "DELETING"] = 5;
+ values[valuesById[6] = "REPAIRING"] = 6;
+ values[valuesById[8] = "STOPPED"] = 8;
+ values[valuesById[9] = "STOPPING"] = 9;
+ values[valuesById[10] = "STARTING"] = 10;
+ values[valuesById[11] = "PREEMPTED"] = 11;
+ values[valuesById[12] = "TERMINATED"] = 12;
+ values[valuesById[13] = "HIDING"] = 13;
+ values[valuesById[14] = "HIDDEN"] = 14;
+ values[valuesById[15] = "UNHIDING"] = 15;
+ return values;
+ })();
+
+ /**
+ * Health enum.
+ * @name google.cloud.tpu.v2alpha1.Node.Health
+ * @enum {number}
+ * @property {number} HEALTH_UNSPECIFIED=0 HEALTH_UNSPECIFIED value
+ * @property {number} HEALTHY=1 HEALTHY value
+ * @property {number} TIMEOUT=3 TIMEOUT value
+ * @property {number} UNHEALTHY_TENSORFLOW=4 UNHEALTHY_TENSORFLOW value
+ * @property {number} UNHEALTHY_MAINTENANCE=5 UNHEALTHY_MAINTENANCE value
+ */
+ Node.Health = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "HEALTH_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "HEALTHY"] = 1;
+ values[valuesById[3] = "TIMEOUT"] = 3;
+ values[valuesById[4] = "UNHEALTHY_TENSORFLOW"] = 4;
+ values[valuesById[5] = "UNHEALTHY_MAINTENANCE"] = 5;
+ return values;
+ })();
+
+ /**
+ * ApiVersion enum.
+ * @name google.cloud.tpu.v2alpha1.Node.ApiVersion
+ * @enum {number}
+ * @property {number} API_VERSION_UNSPECIFIED=0 API_VERSION_UNSPECIFIED value
+ * @property {number} V1_ALPHA1=1 V1_ALPHA1 value
+ * @property {number} V1=2 V1 value
+ * @property {number} V2_ALPHA1=3 V2_ALPHA1 value
+ */
+ Node.ApiVersion = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "API_VERSION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "V1_ALPHA1"] = 1;
+ values[valuesById[2] = "V1"] = 2;
+ values[valuesById[3] = "V2_ALPHA1"] = 3;
+ return values;
+ })();
+
+ return Node;
+ })();
+
+ v2alpha1.ListNodesRequest = (function() {
+
+ /**
+ * Properties of a ListNodesRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IListNodesRequest
+ * @property {string|null} [parent] ListNodesRequest parent
+ * @property {number|null} [pageSize] ListNodesRequest pageSize
+ * @property {string|null} [pageToken] ListNodesRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListNodesRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a ListNodesRequest.
+ * @implements IListNodesRequest
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IListNodesRequest=} [properties] Properties to set
+ */
+ function ListNodesRequest(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]];
+ }
+
+ /**
+ * ListNodesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @instance
+ */
+ ListNodesRequest.prototype.parent = "";
+
+ /**
+ * ListNodesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @instance
+ */
+ ListNodesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListNodesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @instance
+ */
+ ListNodesRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListNodesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IListNodesRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesRequest} ListNodesRequest instance
+ */
+ ListNodesRequest.create = function create(properties) {
+ return new ListNodesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListNodesRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IListNodesRequest} message ListNodesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesRequest.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);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListNodesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IListNodesRequest} message ListNodesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesRequest} ListNodesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesRequest.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.tpu.v2alpha1.ListNodesRequest();
+ 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;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListNodesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesRequest} ListNodesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListNodesRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListNodesRequest.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";
+ return null;
+ };
+
+ /**
+ * Creates a ListNodesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesRequest} ListNodesRequest
+ */
+ ListNodesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.ListNodesRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.ListNodesRequest();
+ 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);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListNodesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ListNodesRequest} message ListNodesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListNodesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ 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;
+ return object;
+ };
+
+ /**
+ * Converts this ListNodesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListNodesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListNodesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListNodesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.ListNodesRequest";
+ };
+
+ return ListNodesRequest;
+ })();
+
+ v2alpha1.ListNodesResponse = (function() {
+
+ /**
+ * Properties of a ListNodesResponse.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IListNodesResponse
+ * @property {Array.|null} [nodes] ListNodesResponse nodes
+ * @property {string|null} [nextPageToken] ListNodesResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListNodesResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListNodesResponse.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a ListNodesResponse.
+ * @implements IListNodesResponse
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IListNodesResponse=} [properties] Properties to set
+ */
+ function ListNodesResponse(properties) {
+ this.nodes = [];
+ 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]];
+ }
+
+ /**
+ * ListNodesResponse nodes.
+ * @member {Array.} nodes
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @instance
+ */
+ ListNodesResponse.prototype.nodes = $util.emptyArray;
+
+ /**
+ * ListNodesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @instance
+ */
+ ListNodesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListNodesResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @instance
+ */
+ ListNodesResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListNodesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IListNodesResponse=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesResponse} ListNodesResponse instance
+ */
+ ListNodesResponse.create = function create(properties) {
+ return new ListNodesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListNodesResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IListNodesResponse} message ListNodesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.nodes != null && message.nodes.length)
+ for (var i = 0; i < message.nodes.length; ++i)
+ $root.google.cloud.tpu.v2alpha1.Node.encode(message.nodes[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 ListNodesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListNodesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IListNodesResponse} message ListNodesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNodesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListNodesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesResponse} ListNodesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesResponse.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.tpu.v2alpha1.ListNodesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.nodes && message.nodes.length))
+ message.nodes = [];
+ message.nodes.push($root.google.cloud.tpu.v2alpha1.Node.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 ListNodesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesResponse} ListNodesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNodesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListNodesResponse message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListNodesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.nodes != null && message.hasOwnProperty("nodes")) {
+ if (!Array.isArray(message.nodes))
+ return "nodes: array expected";
+ for (var i = 0; i < message.nodes.length; ++i) {
+ var error = $root.google.cloud.tpu.v2alpha1.Node.verify(message.nodes[i]);
+ if (error)
+ return "nodes." + 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 ListNodesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.ListNodesResponse} ListNodesResponse
+ */
+ ListNodesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.ListNodesResponse)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.ListNodesResponse();
+ if (object.nodes) {
+ if (!Array.isArray(object.nodes))
+ throw TypeError(".google.cloud.tpu.v2alpha1.ListNodesResponse.nodes: array expected");
+ message.nodes = [];
+ for (var i = 0; i < object.nodes.length; ++i) {
+ if (typeof object.nodes[i] !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.ListNodesResponse.nodes: object expected");
+ message.nodes[i] = $root.google.cloud.tpu.v2alpha1.Node.fromObject(object.nodes[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.tpu.v2alpha1.ListNodesResponse.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 ListNodesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ListNodesResponse} message ListNodesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListNodesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.nodes = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.nodes && message.nodes.length) {
+ object.nodes = [];
+ for (var j = 0; j < message.nodes.length; ++j)
+ object.nodes[j] = $root.google.cloud.tpu.v2alpha1.Node.toObject(message.nodes[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 ListNodesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListNodesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListNodesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.ListNodesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListNodesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.ListNodesResponse";
+ };
+
+ return ListNodesResponse;
+ })();
+
+ v2alpha1.GetNodeRequest = (function() {
+
+ /**
+ * Properties of a GetNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IGetNodeRequest
+ * @property {string|null} [name] GetNodeRequest name
+ */
+
+ /**
+ * Constructs a new GetNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a GetNodeRequest.
+ * @implements IGetNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IGetNodeRequest=} [properties] Properties to set
+ */
+ function GetNodeRequest(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]];
+ }
+
+ /**
+ * GetNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @instance
+ */
+ GetNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGetNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.GetNodeRequest} GetNodeRequest instance
+ */
+ GetNodeRequest.create = function create(properties) {
+ return new GetNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGetNodeRequest} message GetNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetNodeRequest.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 GetNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IGetNodeRequest} message GetNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.GetNodeRequest} GetNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetNodeRequest.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.tpu.v2alpha1.GetNodeRequest();
+ 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 GetNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.GetNodeRequest} GetNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetNodeRequest.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 GetNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.GetNodeRequest} GetNodeRequest
+ */
+ GetNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.GetNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.GetNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.GetNodeRequest} message GetNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetNodeRequest.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 GetNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.GetNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GetNodeRequest";
+ };
+
+ return GetNodeRequest;
+ })();
+
+ v2alpha1.CreateNodeRequest = (function() {
+
+ /**
+ * Properties of a CreateNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface ICreateNodeRequest
+ * @property {string|null} [parent] CreateNodeRequest parent
+ * @property {string|null} [nodeId] CreateNodeRequest nodeId
+ * @property {google.cloud.tpu.v2alpha1.INode|null} [node] CreateNodeRequest node
+ */
+
+ /**
+ * Constructs a new CreateNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a CreateNodeRequest.
+ * @implements ICreateNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.ICreateNodeRequest=} [properties] Properties to set
+ */
+ function CreateNodeRequest(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]];
+ }
+
+ /**
+ * CreateNodeRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @instance
+ */
+ CreateNodeRequest.prototype.parent = "";
+
+ /**
+ * CreateNodeRequest nodeId.
+ * @member {string} nodeId
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @instance
+ */
+ CreateNodeRequest.prototype.nodeId = "";
+
+ /**
+ * CreateNodeRequest node.
+ * @member {google.cloud.tpu.v2alpha1.INode|null|undefined} node
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @instance
+ */
+ CreateNodeRequest.prototype.node = null;
+
+ /**
+ * Creates a new CreateNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ICreateNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.CreateNodeRequest} CreateNodeRequest instance
+ */
+ CreateNodeRequest.create = function create(properties) {
+ return new CreateNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.CreateNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ICreateNodeRequest} message CreateNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateNodeRequest.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.nodeId != null && Object.hasOwnProperty.call(message, "nodeId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nodeId);
+ if (message.node != null && Object.hasOwnProperty.call(message, "node"))
+ $root.google.cloud.tpu.v2alpha1.Node.encode(message.node, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.CreateNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.ICreateNodeRequest} message CreateNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.CreateNodeRequest} CreateNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateNodeRequest.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.tpu.v2alpha1.CreateNodeRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.nodeId = reader.string();
+ break;
+ }
+ case 3: {
+ message.node = $root.google.cloud.tpu.v2alpha1.Node.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.CreateNodeRequest} CreateNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateNodeRequest.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.nodeId != null && message.hasOwnProperty("nodeId"))
+ if (!$util.isString(message.nodeId))
+ return "nodeId: string expected";
+ if (message.node != null && message.hasOwnProperty("node")) {
+ var error = $root.google.cloud.tpu.v2alpha1.Node.verify(message.node);
+ if (error)
+ return "node." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.CreateNodeRequest} CreateNodeRequest
+ */
+ CreateNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.CreateNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.CreateNodeRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.nodeId != null)
+ message.nodeId = String(object.nodeId);
+ if (object.node != null) {
+ if (typeof object.node !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.CreateNodeRequest.node: object expected");
+ message.node = $root.google.cloud.tpu.v2alpha1.Node.fromObject(object.node);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.CreateNodeRequest} message CreateNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateNodeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.nodeId = "";
+ object.node = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.nodeId != null && message.hasOwnProperty("nodeId"))
+ object.nodeId = message.nodeId;
+ if (message.node != null && message.hasOwnProperty("node"))
+ object.node = $root.google.cloud.tpu.v2alpha1.Node.toObject(message.node, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.CreateNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.CreateNodeRequest";
+ };
+
+ return CreateNodeRequest;
+ })();
+
+ v2alpha1.DeleteNodeRequest = (function() {
+
+ /**
+ * Properties of a DeleteNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IDeleteNodeRequest
+ * @property {string|null} [name] DeleteNodeRequest name
+ */
+
+ /**
+ * Constructs a new DeleteNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a DeleteNodeRequest.
+ * @implements IDeleteNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IDeleteNodeRequest=} [properties] Properties to set
+ */
+ function DeleteNodeRequest(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]];
+ }
+
+ /**
+ * DeleteNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @instance
+ */
+ DeleteNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IDeleteNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.DeleteNodeRequest} DeleteNodeRequest instance
+ */
+ DeleteNodeRequest.create = function create(properties) {
+ return new DeleteNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.DeleteNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IDeleteNodeRequest} message DeleteNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteNodeRequest.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 DeleteNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.DeleteNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IDeleteNodeRequest} message DeleteNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.DeleteNodeRequest} DeleteNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteNodeRequest.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.tpu.v2alpha1.DeleteNodeRequest();
+ 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 DeleteNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.DeleteNodeRequest} DeleteNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteNodeRequest.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 DeleteNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.DeleteNodeRequest} DeleteNodeRequest
+ */
+ DeleteNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.DeleteNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.DeleteNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.DeleteNodeRequest} message DeleteNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteNodeRequest.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 DeleteNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.DeleteNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.DeleteNodeRequest";
+ };
+
+ return DeleteNodeRequest;
+ })();
+
+ v2alpha1.StopNodeRequest = (function() {
+
+ /**
+ * Properties of a StopNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IStopNodeRequest
+ * @property {string|null} [name] StopNodeRequest name
+ */
+
+ /**
+ * Constructs a new StopNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a StopNodeRequest.
+ * @implements IStopNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IStopNodeRequest=} [properties] Properties to set
+ */
+ function StopNodeRequest(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]];
+ }
+
+ /**
+ * StopNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @instance
+ */
+ StopNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new StopNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IStopNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.StopNodeRequest} StopNodeRequest instance
+ */
+ StopNodeRequest.create = function create(properties) {
+ return new StopNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified StopNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.StopNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IStopNodeRequest} message StopNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StopNodeRequest.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 StopNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.StopNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IStopNodeRequest} message StopNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StopNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a StopNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.StopNodeRequest} StopNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StopNodeRequest.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.tpu.v2alpha1.StopNodeRequest();
+ 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 StopNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.StopNodeRequest} StopNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StopNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a StopNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ StopNodeRequest.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 StopNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.StopNodeRequest} StopNodeRequest
+ */
+ StopNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.StopNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.StopNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a StopNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.StopNodeRequest} message StopNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ StopNodeRequest.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 StopNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ StopNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for StopNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.StopNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ StopNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.StopNodeRequest";
+ };
+
+ return StopNodeRequest;
+ })();
+
+ v2alpha1.StartNodeRequest = (function() {
+
+ /**
+ * Properties of a StartNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IStartNodeRequest
+ * @property {string|null} [name] StartNodeRequest name
+ */
+
+ /**
+ * Constructs a new StartNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a StartNodeRequest.
+ * @implements IStartNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IStartNodeRequest=} [properties] Properties to set
+ */
+ function StartNodeRequest(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]];
+ }
+
+ /**
+ * StartNodeRequest name.
+ * @member {string} name
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @instance
+ */
+ StartNodeRequest.prototype.name = "";
+
+ /**
+ * Creates a new StartNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IStartNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.StartNodeRequest} StartNodeRequest instance
+ */
+ StartNodeRequest.create = function create(properties) {
+ return new StartNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified StartNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.StartNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IStartNodeRequest} message StartNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StartNodeRequest.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 StartNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.StartNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IStartNodeRequest} message StartNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StartNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a StartNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.StartNodeRequest} StartNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StartNodeRequest.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.tpu.v2alpha1.StartNodeRequest();
+ 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 StartNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.StartNodeRequest} StartNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StartNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a StartNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ StartNodeRequest.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 StartNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.StartNodeRequest} StartNodeRequest
+ */
+ StartNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.StartNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.StartNodeRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a StartNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.StartNodeRequest} message StartNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ StartNodeRequest.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 StartNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ StartNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for StartNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.StartNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ StartNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.StartNodeRequest";
+ };
+
+ return StartNodeRequest;
+ })();
+
+ v2alpha1.UpdateNodeRequest = (function() {
+
+ /**
+ * Properties of an UpdateNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IUpdateNodeRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateNodeRequest updateMask
+ * @property {google.cloud.tpu.v2alpha1.INode|null} [node] UpdateNodeRequest node
+ */
+
+ /**
+ * Constructs a new UpdateNodeRequest.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents an UpdateNodeRequest.
+ * @implements IUpdateNodeRequest
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IUpdateNodeRequest=} [properties] Properties to set
+ */
+ function UpdateNodeRequest(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]];
+ }
+
+ /**
+ * UpdateNodeRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @instance
+ */
+ UpdateNodeRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateNodeRequest node.
+ * @member {google.cloud.tpu.v2alpha1.INode|null|undefined} node
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @instance
+ */
+ UpdateNodeRequest.prototype.node = null;
+
+ /**
+ * Creates a new UpdateNodeRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IUpdateNodeRequest=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.UpdateNodeRequest} UpdateNodeRequest instance
+ */
+ UpdateNodeRequest.create = function create(properties) {
+ return new UpdateNodeRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateNodeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.UpdateNodeRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IUpdateNodeRequest} message UpdateNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateNodeRequest.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.node != null && Object.hasOwnProperty.call(message, "node"))
+ $root.google.cloud.tpu.v2alpha1.Node.encode(message.node, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateNodeRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.UpdateNodeRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IUpdateNodeRequest} message UpdateNodeRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateNodeRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateNodeRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.UpdateNodeRequest} UpdateNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateNodeRequest.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.tpu.v2alpha1.UpdateNodeRequest();
+ 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.node = $root.google.cloud.tpu.v2alpha1.Node.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateNodeRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.UpdateNodeRequest} UpdateNodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateNodeRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateNodeRequest message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateNodeRequest.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.node != null && message.hasOwnProperty("node")) {
+ var error = $root.google.cloud.tpu.v2alpha1.Node.verify(message.node);
+ if (error)
+ return "node." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateNodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.tpu.v2alpha1.UpdateNodeRequest} UpdateNodeRequest
+ */
+ UpdateNodeRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.tpu.v2alpha1.UpdateNodeRequest)
+ return object;
+ var message = new $root.google.cloud.tpu.v2alpha1.UpdateNodeRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.UpdateNodeRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.node != null) {
+ if (typeof object.node !== "object")
+ throw TypeError(".google.cloud.tpu.v2alpha1.UpdateNodeRequest.node: object expected");
+ message.node = $root.google.cloud.tpu.v2alpha1.Node.fromObject(object.node);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateNodeRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.UpdateNodeRequest} message UpdateNodeRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateNodeRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.node = null;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.node != null && message.hasOwnProperty("node"))
+ object.node = $root.google.cloud.tpu.v2alpha1.Node.toObject(message.node, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateNodeRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateNodeRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateNodeRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.tpu.v2alpha1.UpdateNodeRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateNodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.UpdateNodeRequest";
+ };
+
+ return UpdateNodeRequest;
+ })();
+
+ v2alpha1.ServiceIdentity = (function() {
+
+ /**
+ * Properties of a ServiceIdentity.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @interface IServiceIdentity
+ * @property {string|null} [email] ServiceIdentity email
+ */
+
+ /**
+ * Constructs a new ServiceIdentity.
+ * @memberof google.cloud.tpu.v2alpha1
+ * @classdesc Represents a ServiceIdentity.
+ * @implements IServiceIdentity
+ * @constructor
+ * @param {google.cloud.tpu.v2alpha1.IServiceIdentity=} [properties] Properties to set
+ */
+ function ServiceIdentity(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]];
+ }
+
+ /**
+ * ServiceIdentity email.
+ * @member {string} email
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @instance
+ */
+ ServiceIdentity.prototype.email = "";
+
+ /**
+ * Creates a new ServiceIdentity instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IServiceIdentity=} [properties] Properties to set
+ * @returns {google.cloud.tpu.v2alpha1.ServiceIdentity} ServiceIdentity instance
+ */
+ ServiceIdentity.create = function create(properties) {
+ return new ServiceIdentity(properties);
+ };
+
+ /**
+ * Encodes the specified ServiceIdentity message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceIdentity.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IServiceIdentity} message ServiceIdentity message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceIdentity.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.email != null && Object.hasOwnProperty.call(message, "email"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.email);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ServiceIdentity message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ServiceIdentity.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @static
+ * @param {google.cloud.tpu.v2alpha1.IServiceIdentity} message ServiceIdentity message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceIdentity.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ServiceIdentity message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.tpu.v2alpha1.ServiceIdentity} ServiceIdentity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceIdentity.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.tpu.v2alpha1.ServiceIdentity();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.email = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ServiceIdentity message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.tpu.v2alpha1.ServiceIdentity} ServiceIdentity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceIdentity.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ServiceIdentity message.
+ * @function verify
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ServiceIdentity.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.email != null && message.hasOwnProperty("email"))
+ if (!$util.isString(message.email))
+ return "email: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ServiceIdentity message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity
+ * @static
+ * @param {Object.