From c45d0f51b3876605c30188cff9038dde33a6aae3 Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Wed, 2 Jun 2021 22:00:17 +0000 Subject: [PATCH 01/64] feat: initial launch --- packages/google-cloud-tpu/CODE_OF_CONDUCT.md | 94 +++++++++ packages/google-cloud-tpu/CONTRIBUTING.md | 76 +++++++ packages/google-cloud-tpu/LICENSE | 202 +++++++++++++++++++ packages/google-cloud-tpu/README.md | 120 +++++++++++ 4 files changed, 492 insertions(+) create mode 100644 packages/google-cloud-tpu/CODE_OF_CONDUCT.md create mode 100644 packages/google-cloud-tpu/CONTRIBUTING.md create mode 100644 packages/google-cloud-tpu/LICENSE create mode 100644 packages/google-cloud-tpu/README.md 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..8e5c2bd0287 --- /dev/null +++ b/packages/google-cloud-tpu/README.md @@ -0,0 +1,120 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `python -m synthtool`." +Google Cloud Platform logo + +# [Cloud TPU: Node.js Client](https://github.com/googleapis/nodejs-cloud-tpu) + +[![release level](https://img.shields.io/badge/release%20level-beta-yellow.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) +[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-cloud-tpu/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-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/nodejs-cloud-tpu/blob/master/CHANGELOG.md). + +* [Cloud TPU Node.js Client API Reference][client-docs] +* [Cloud TPU Documentation][product-docs] +* [github.com/googleapis/nodejs-cloud-tpu](https://github.com/googleapis/nodejs-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) + + +* [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 +``` + + + + + +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. + +Client libraries targeting some end-of-life versions of Node.js are available, and +can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag). +The dist-tags follow the naming convention `legacy-(version)`. + +_Legacy Node.js versions are supported as a best effort:_ + +* Legacy versions will not be tested in continuous integration. +* Some security patches may not be able to be backported. +* Dependencies will not be kept up-to-date, and features will not be backported. + +#### Legacy tags available + +* `legacy-8`: install client libraries from this dist-tag for versions + compatible with Node.js 8. + +## Versioning + +This library follows [Semantic Versioning](http://semver.org/). + + + + + + +More Information: [Google Cloud Platform Launch Stages][launch_stages] + +[launch_stages]: https://cloud.google.com/terms/launch-stages + +## Contributing + +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/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 template in this +[directory](https://github.com/googleapis/synthtool/tree/master/synthtool/gcp/templates/node_library). + +## License + +Apache Version 2.0 + +See [LICENSE](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/LICENSE) + +[client-docs]: https://cloud.google.com/tpu +[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 From e64807b2734d7e55e16a2ff428ca55a38f41109e Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Tue, 8 Jun 2021 22:41:25 +0000 Subject: [PATCH 02/64] feat: add initial files --- packages/google-cloud-tpu/.eslintignore | 6 + packages/google-cloud-tpu/.eslintrc.json | 3 + packages/google-cloud-tpu/.gitattributes | 4 + .../google-cloud-tpu/.github/.OwlBot.yaml | 22 + packages/google-cloud-tpu/.gitignore | 14 + packages/google-cloud-tpu/.jsdoc.js | 55 + packages/google-cloud-tpu/.mocharc.js | 29 + packages/google-cloud-tpu/.nycrc | 24 + packages/google-cloud-tpu/.prettierignore | 6 + packages/google-cloud-tpu/.prettierrc.js | 17 + packages/google-cloud-tpu/.repo-metadata.json | 15 + packages/google-cloud-tpu/api-extractor.json | 369 + .../google-cloud-tpu/linkinator.config.json | 1 + packages/google-cloud-tpu/package.json | 66 + .../google/cloud/tpu/v1/cloud_tpu.proto | 622 + packages/google-cloud-tpu/protos/protos.d.ts | 7649 ++++++ packages/google-cloud-tpu/protos/protos.js | 19410 ++++++++++++++++ packages/google-cloud-tpu/protos/protos.json | 2170 ++ .../google-cloud-tpu/samples/package.json | 23 + .../google-cloud-tpu/samples/quickstart.js | 50 + .../samples/test/quickstart.js | 53 + packages/google-cloud-tpu/src/index.ts | 27 + .../src/v1/gapic_metadata.json | 145 + packages/google-cloud-tpu/src/v1/index.ts | 19 + .../google-cloud-tpu/src/v1/tpu_client.ts | 2223 ++ .../src/v1/tpu_client_config.json | 81 + .../src/v1/tpu_proto_list.json | 3 + .../system-test/fixtures/sample/src/index.js | 26 + .../system-test/fixtures/sample/src/index.ts | 32 + .../google-cloud-tpu/system-test/install.ts | 51 + .../google-cloud-tpu/test/gapic_tpu_v1.ts | 2677 +++ packages/google-cloud-tpu/tsconfig.json | 19 + packages/google-cloud-tpu/webpack.config.js | 64 + 33 files changed, 35975 insertions(+) create mode 100644 packages/google-cloud-tpu/.eslintignore create mode 100644 packages/google-cloud-tpu/.eslintrc.json create mode 100644 packages/google-cloud-tpu/.gitattributes create mode 100644 packages/google-cloud-tpu/.github/.OwlBot.yaml create mode 100644 packages/google-cloud-tpu/.gitignore create mode 100644 packages/google-cloud-tpu/.jsdoc.js create mode 100644 packages/google-cloud-tpu/.mocharc.js create mode 100644 packages/google-cloud-tpu/.nycrc create mode 100644 packages/google-cloud-tpu/.prettierignore create mode 100644 packages/google-cloud-tpu/.prettierrc.js create mode 100644 packages/google-cloud-tpu/.repo-metadata.json create mode 100644 packages/google-cloud-tpu/api-extractor.json create mode 100644 packages/google-cloud-tpu/linkinator.config.json create mode 100644 packages/google-cloud-tpu/package.json create mode 100644 packages/google-cloud-tpu/protos/google/cloud/tpu/v1/cloud_tpu.proto create mode 100644 packages/google-cloud-tpu/protos/protos.d.ts create mode 100644 packages/google-cloud-tpu/protos/protos.js create mode 100644 packages/google-cloud-tpu/protos/protos.json create mode 100644 packages/google-cloud-tpu/samples/package.json create mode 100644 packages/google-cloud-tpu/samples/quickstart.js create mode 100644 packages/google-cloud-tpu/samples/test/quickstart.js create mode 100644 packages/google-cloud-tpu/src/index.ts create mode 100644 packages/google-cloud-tpu/src/v1/gapic_metadata.json create mode 100644 packages/google-cloud-tpu/src/v1/index.ts create mode 100644 packages/google-cloud-tpu/src/v1/tpu_client.ts create mode 100644 packages/google-cloud-tpu/src/v1/tpu_client_config.json create mode 100644 packages/google-cloud-tpu/src/v1/tpu_proto_list.json create mode 100644 packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js create mode 100644 packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts create mode 100644 packages/google-cloud-tpu/system-test/install.ts create mode 100644 packages/google-cloud-tpu/test/gapic_tpu_v1.ts create mode 100644 packages/google-cloud-tpu/tsconfig.json create mode 100644 packages/google-cloud-tpu/webpack.config.js diff --git a/packages/google-cloud-tpu/.eslintignore b/packages/google-cloud-tpu/.eslintignore new file mode 100644 index 00000000000..9340ad9b86d --- /dev/null +++ b/packages/google-cloud-tpu/.eslintignore @@ -0,0 +1,6 @@ +**/node_modules +**/coverage +test/fixtures +build/ +docs/ +protos/ 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/.github/.OwlBot.yaml b/packages/google-cloud-tpu/.github/.OwlBot.yaml new file mode 100644 index 00000000000..64657c5d9a7 --- /dev/null +++ b/packages/google-cloud-tpu/.github/.OwlBot.yaml @@ -0,0 +1,22 @@ +# 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. +docker: + image: gcr.io/repo-automation-bots/owlbot-nodejs:latest + +deep-remove-regex: + - /owl-bot-staging + +deep-copy-regex: + - source: /google/cloud/tpu/(.*)/.*-nodejs/(.*) + dest: /owl-bot-staging/$1/$2 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..915162150b6 --- /dev/null +++ b/packages/google-cloud-tpu/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** 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 2021 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..0b600509bed --- /dev/null +++ b/packages/google-cloud-tpu/.mocharc.js @@ -0,0 +1,29 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +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..d1b95106f4c --- /dev/null +++ b/packages/google-cloud-tpu/.prettierrc.js @@ -0,0 +1,17 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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..18daacfe184 --- /dev/null +++ b/packages/google-cloud-tpu/.repo-metadata.json @@ -0,0 +1,15 @@ +{ + "name": "tpu", + "name_pretty": "Cloud TPU", + "product_documentation": "https://cloud.google.com/tpu/", + "client_documentation": "https://cloud.google.com/tpu", + "issue_tracker": "https://github.com/googleapis/nodejs-cloud-tpu/issues", + "release_level": "BETA", + "language": "nodejs", + "repo": "googleapis/nodejs-cloud-tpu", + "distribution_name": "@google-cloud/tpu", + "api_id": "tpu.googleapis.com", + "default_version": "v1", + "requires_billing": true +} + diff --git a/packages/google-cloud-tpu/api-extractor.json b/packages/google-cloud-tpu/api-extractor.json new file mode 100644 index 00000000000..de228294b23 --- /dev/null +++ b/packages/google-cloud-tpu/api-extractor.json @@ -0,0 +1,369 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + /** + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains + * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS require(). + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "extends": "./shared/api-extractor-base.json" + // "extends": "my-package/include/api-extractor-base.json" + + /** + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "..", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFilePath": "/protos/protos.d.ts", + + /** + * A list of NPM package names whose exports should be treated as part of this package. + * + * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", + * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part + * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly + * imports library2. To avoid this, we can specify: + * + * "bundledPackages": [ "library2" ], + * + * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been + * local files for library1. + */ + "bundledPackages": [ ], + + /** + * Determines how the TypeScript compiler engine will be invoked by API Extractor. + */ + "compiler": { + /** + * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * Note: This setting will be ignored if "overrideTsconfig" is used. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/tsconfig.json" + */ + // "tsconfigFilePath": "/tsconfig.json", + + /** + * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. + * The object must conform to the TypeScript tsconfig schema: + * + * http://json.schemastore.org/tsconfig + * + * If omitted, then the tsconfig.json file will be read from the "projectFolder". + * + * DEFAULT VALUE: no overrideTsconfig section + */ + // "overrideTsconfig": { + // . . . + // } + + /** + * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended + * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when + * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses + * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. + * + * DEFAULT VALUE: false + */ + // "skipLibCheck": true, + }, + + /** + * Configures how the API report file (*.api.md) will be generated. + */ + "apiReport": { + /** + * (REQUIRED) Whether to generate an API report. + */ + "enabled": true, + + /** + * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce + * a full file path. + * + * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". + * + * SUPPORTED TOKENS: , + * DEFAULT VALUE: ".api.md" + */ + // "reportFileName": ".api.md", + + /** + * Specifies the folder where the API report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, + * e.g. for an API review. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/etc/" + */ + // "reportFolder": "/etc/", + + /** + * Specifies the folder where the temporary report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * After the temporary file is written to disk, it is compared with the file in the "reportFolder". + * If they are different, a production build will fail. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + // "reportTempFolder": "/temp/" + }, + + /** + * Configures how the doc model file (*.api.json) will be generated. + */ + "docModel": { + /** + * (REQUIRED) Whether to generate a doc model file. + */ + "enabled": true, + + /** + * The output path for the doc model file. The file extension should be ".api.json". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" + */ + // "apiJsonFilePath": "/temp/.api.json" + }, + + /** + * Configures how the .d.ts rollup file will be generated. + */ + "dtsRollup": { + /** + * (REQUIRED) Whether to generate the .d.ts rollup file. + */ + "enabled": true, + + /** + * Specifies the output path for a .d.ts rollup file to be generated without any trimming. + * This file will include all declarations that are exported by the main entry point. + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" + */ + // "untrimmedFilePath": "/dist/.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. + * This file will include only declarations that are marked as "@public" or "@beta". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "betaTrimmedFilePath": "/dist/-beta.d.ts", + + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. + * This file will include only declarations that are marked as "@public". + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "publicTrimmedFilePath": "/dist/-public.d.ts", + + /** + * When a declaration is trimmed, by default it will be replaced by a code comment such as + * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the + * declaration completely. + * + * DEFAULT VALUE: false + */ + // "omitTrimmingComments": true + }, + + /** + * Configures how the tsdoc-metadata.json file will be generated. + */ + "tsdocMetadata": { + /** + * Whether to generate the tsdoc-metadata.json file. + * + * DEFAULT VALUE: true + */ + // "enabled": true, + + /** + * Specifies where the TSDoc metadata file should be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", + * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup + * falls back to "tsdoc-metadata.json" in the package folder. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" + }, + + /** + * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files + * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. + * To use the OS's default newline kind, specify "os". + * + * DEFAULT VALUE: "crlf" + */ + // "newlineKind": "crlf", + + /** + * Configures how API Extractor reports error and warning messages produced during analysis. + * + * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. + */ + "messages": { + /** + * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing + * the input .d.ts files. + * + * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "compilerMessageReporting": { + /** + * Configures the default routing for messages that don't match an explicit rule in this table. + */ + "default": { + /** + * Specifies whether the message should be written to the the tool's output log. Note that + * the "addToApiReportFile" property may supersede this option. + * + * Possible values: "error", "warning", "none" + * + * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail + * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes + * the "--local" option), the warning is displayed but the build will not fail. + * + * DEFAULT VALUE: "warning" + */ + "logLevel": "warning", + + /** + * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the "logLevel" option. + * + * DEFAULT VALUE: false + */ + // "addToApiReportFile": false + }, + + // "TS2551": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by API Extractor during its analysis. + * + * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" + * + * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings + */ + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + // "addToApiReportFile": false + }, + + // "ae-extra-release-tag": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by the TSDoc parser when analyzing code comments. + * + * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "tsdocMessageReporting": { + "default": { + "logLevel": "warning", + // "addToApiReportFile": false + } + + // "tsdoc-link-tag-unescaped-text": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + } + } + +} diff --git a/packages/google-cloud-tpu/linkinator.config.json b/packages/google-cloud-tpu/linkinator.config.json new file mode 100644 index 00000000000..0947c2e0e5b --- /dev/null +++ b/packages/google-cloud-tpu/linkinator.config.json @@ -0,0 +1 @@ +{"recurse":true,"skip":["https://codecov.io/gh/googleapis/","www.googleapis.com","img.shields.io"],"silent":true,"concurrency":10} \ No newline at end of file diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json new file mode 100644 index 00000000000..59f9bd8670a --- /dev/null +++ b/packages/google-cloud-tpu/package.json @@ -0,0 +1,66 @@ +{ + "name": "@google-cloud/tpu", + "version": "0.1.0", + "description": "tpu client for Node.js", + "repository": "googleapis/googleapis/nodejs-cloud-tpu", + "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": "c8 mocha build/system-test", + "test": "c8 mocha build/test", + "samples-test": "cd samples/ && npm link ../ && npm test", + "prelint": "cd samples; npm link ../; npm i" + }, + "dependencies": { + "google-gax": "^2.12.0" + }, + "devDependencies": { + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.44", + "@types/sinon": "^10.0.0", + "c8": "^7.7.2", + "gts": "^3.1.0", + "jsdoc": "^3.6.6", + "jsdoc-fresh": "^1.0.2", + "jsdoc-region-tag": "^1.0.6", + "linkinator": "^2.13.6", + "mocha": "^8.4.0", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^10.0.0", + "ts-loader": "^9.1.2", + "typescript": "^4.2.4", + "webpack": "^5.36.2", + "webpack-cli": "^4.7.0" + }, + "engines": { + "node": ">=v10.0.0" + } +} 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/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts new file mode 100644 index 00000000000..08acfa488ac --- /dev/null +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -0,0 +1,7649 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import * as Long from "long"; +import {protobuf as $protobuf} from "google-gax"; +/** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + 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 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** FieldBehavior enum. */ + enum FieldBehavior { + FIELD_BEHAVIOR_UNSPECIFIED = 0, + OPTIONAL = 1, + REQUIRED = 2, + OUTPUT_ONLY = 3, + INPUT_ONLY = 4, + IMMUTABLE = 5, + UNORDERED_LIST = 6 + } + + /** 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 }; + } + + 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 }; + } + } + + /** 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 }; + } + + /** 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); + } + + /** 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; + + /** + * 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 }; + } + + /** 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 }; + } + + 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 }; + } + + /** 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 }; + } + } + + /** 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 }; + } + + /** 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 }; + } + + 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 }; + } + + /** 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 }; + } + + 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 }; + } + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + 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 }; + } + + /** 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 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 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 }; + } + + 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + 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 }; + } + + 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 }; + } + } + + /** 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 }; + } + + 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 }; + } + } + + /** 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 }; + } + + 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); + } + + /** 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; + + /** + * 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 }; + } + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + } + + /** 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 }; + } + } +} diff --git a/packages/google-cloud-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js new file mode 100644 index 00000000000..6b5d4735b19 --- /dev/null +++ b/packages/google-cloud-tpu/protos/protos.js @@ -0,0 +1,19410 @@ +// 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. + +/*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").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); + }; + + 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); + }; + + 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) { + 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) { + 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) { + 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] : 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] : 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] : 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); + }; + + /** + * 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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) { + 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] : 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); + }; + + /** + * 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; + })(); + + return tpu; + })(); + + return cloud; + })(); + + google.api = (function() { + + /** + * Namespace api. + * @memberof google + * @namespace + */ + var api = {}; + + api.Http = (function() { + + /** + * Properties of a Http. + * @memberof google.api + * @interface IHttp + * @property {Array.|null} [rules] Http rules + * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion + */ + + /** + * Constructs a new Http. + * @memberof google.api + * @classdesc Represents a Http. + * @implements IHttp + * @constructor + * @param {google.api.IHttp=} [properties] Properties to set + */ + function Http(properties) { + this.rules = []; + 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]]; + } + + /** + * Http rules. + * @member {Array.} rules + * @memberof google.api.Http + * @instance + */ + Http.prototype.rules = $util.emptyArray; + + /** + * Http fullyDecodeReservedExpansion. + * @member {boolean} fullyDecodeReservedExpansion + * @memberof google.api.Http + * @instance + */ + Http.prototype.fullyDecodeReservedExpansion = false; + + /** + * Creates a new Http instance using the specified properties. + * @function create + * @memberof google.api.Http + * @static + * @param {google.api.IHttp=} [properties] Properties to set + * @returns {google.api.Http} Http instance + */ + Http.create = function create(properties) { + return new Http(properties); + }; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encode + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rules != null && message.rules.length) + for (var i = 0; i < message.rules.length; ++i) + $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); + return writer; + }; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Http message from the specified reader or buffer. + * @function decode + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.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.api.Http(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + case 2: + message.fullyDecodeReservedExpansion = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Http message. + * @function verify + * @memberof google.api.Http + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Http.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rules != null && message.hasOwnProperty("rules")) { + if (!Array.isArray(message.rules)) + return "rules: array expected"; + for (var i = 0; i < message.rules.length; ++i) { + var error = $root.google.api.HttpRule.verify(message.rules[i]); + if (error) + return "rules." + error; + } + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + if (typeof message.fullyDecodeReservedExpansion !== "boolean") + return "fullyDecodeReservedExpansion: boolean expected"; + return null; + }; + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Http + * @static + * @param {Object.} object Plain object + * @returns {google.api.Http} Http + */ + Http.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Http) + return object; + var message = new $root.google.api.Http(); + if (object.rules) { + if (!Array.isArray(object.rules)) + throw TypeError(".google.api.Http.rules: array expected"); + message.rules = []; + for (var i = 0; i < object.rules.length; ++i) { + if (typeof object.rules[i] !== "object") + throw TypeError(".google.api.Http.rules: object expected"); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + } + } + if (object.fullyDecodeReservedExpansion != null) + message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion); + return message; + }; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Http + * @static + * @param {google.api.Http} message Http + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Http.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.rules = []; + if (options.defaults) + object.fullyDecodeReservedExpansion = false; + if (message.rules && message.rules.length) { + object.rules = []; + for (var j = 0; j < message.rules.length; ++j) + object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options); + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion; + return object; + }; + + /** + * Converts this Http to JSON. + * @function toJSON + * @memberof google.api.Http + * @instance + * @returns {Object.} JSON object + */ + Http.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Http; + })(); + + api.HttpRule = (function() { + + /** + * Properties of a HttpRule. + * @memberof google.api + * @interface IHttpRule + * @property {string|null} [selector] HttpRule selector + * @property {string|null} [get] HttpRule get + * @property {string|null} [put] HttpRule put + * @property {string|null} [post] HttpRule post + * @property {string|null} ["delete"] HttpRule delete + * @property {string|null} [patch] HttpRule patch + * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom + * @property {string|null} [body] HttpRule body + * @property {string|null} [responseBody] HttpRule responseBody + * @property {Array.|null} [additionalBindings] HttpRule additionalBindings + */ + + /** + * Constructs a new HttpRule. + * @memberof google.api + * @classdesc Represents a HttpRule. + * @implements IHttpRule + * @constructor + * @param {google.api.IHttpRule=} [properties] Properties to set + */ + function HttpRule(properties) { + this.additionalBindings = []; + 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]]; + } + + /** + * HttpRule selector. + * @member {string} selector + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.selector = ""; + + /** + * HttpRule get. + * @member {string|null|undefined} get + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.get = null; + + /** + * HttpRule put. + * @member {string|null|undefined} put + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.put = null; + + /** + * HttpRule post. + * @member {string|null|undefined} post + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.post = null; + + /** + * HttpRule delete. + * @member {string|null|undefined} delete + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype["delete"] = null; + + /** + * HttpRule patch. + * @member {string|null|undefined} patch + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.patch = null; + + /** + * HttpRule custom. + * @member {google.api.ICustomHttpPattern|null|undefined} custom + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.custom = null; + + /** + * HttpRule body. + * @member {string} body + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.body = ""; + + /** + * HttpRule responseBody. + * @member {string} responseBody + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.responseBody = ""; + + /** + * HttpRule additionalBindings. + * @member {Array.} additionalBindings + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.additionalBindings = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * HttpRule pattern. + * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern + * @memberof google.api.HttpRule + * @instance + */ + Object.defineProperty(HttpRule.prototype, "pattern", { + get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new HttpRule instance using the specified properties. + * @function create + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule=} [properties] Properties to set + * @returns {google.api.HttpRule} HttpRule instance + */ + HttpRule.create = function create(properties) { + return new HttpRule(properties); + }; + + /** + * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @function encode + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule} message HttpRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpRule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.get != null && Object.hasOwnProperty.call(message, "get")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); + if (message.put != null && Object.hasOwnProperty.call(message, "put")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); + if (message.post != null && Object.hasOwnProperty.call(message, "post")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); + if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); + if (message.patch != null && Object.hasOwnProperty.call(message, "patch")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); + if (message.body != null && Object.hasOwnProperty.call(message, "body")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); + if (message.custom != null && Object.hasOwnProperty.call(message, "custom")) + $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.additionalBindings != null && message.additionalBindings.length) + for (var i = 0; i < message.additionalBindings.length; ++i) + $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody); + return writer; + }; + + /** + * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule} message HttpRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpRule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HttpRule message from the specified reader or buffer. + * @function decode + * @memberof google.api.HttpRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.HttpRule} HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpRule.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.api.HttpRule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.selector = reader.string(); + break; + case 2: + message.get = reader.string(); + break; + case 3: + message.put = reader.string(); + break; + case 4: + message.post = reader.string(); + break; + case 5: + message["delete"] = reader.string(); + break; + case 6: + message.patch = reader.string(); + break; + case 8: + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + break; + case 7: + message.body = reader.string(); + break; + case 12: + message.responseBody = reader.string(); + break; + case 11: + if (!(message.additionalBindings && message.additionalBindings.length)) + message.additionalBindings = []; + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HttpRule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.HttpRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.HttpRule} HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpRule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HttpRule message. + * @function verify + * @memberof google.api.HttpRule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HttpRule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.get != null && message.hasOwnProperty("get")) { + properties.pattern = 1; + if (!$util.isString(message.get)) + return "get: string expected"; + } + if (message.put != null && message.hasOwnProperty("put")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.put)) + return "put: string expected"; + } + if (message.post != null && message.hasOwnProperty("post")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.post)) + return "post: string expected"; + } + if (message["delete"] != null && message.hasOwnProperty("delete")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message["delete"])) + return "delete: string expected"; + } + if (message.patch != null && message.hasOwnProperty("patch")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.patch)) + return "patch: string expected"; + } + if (message.custom != null && message.hasOwnProperty("custom")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + { + var error = $root.google.api.CustomHttpPattern.verify(message.custom); + if (error) + return "custom." + error; + } + } + if (message.body != null && message.hasOwnProperty("body")) + if (!$util.isString(message.body)) + return "body: string expected"; + if (message.responseBody != null && message.hasOwnProperty("responseBody")) + if (!$util.isString(message.responseBody)) + return "responseBody: string expected"; + if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) { + if (!Array.isArray(message.additionalBindings)) + return "additionalBindings: array expected"; + for (var i = 0; i < message.additionalBindings.length; ++i) { + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + if (error) + return "additionalBindings." + error; + } + } + return null; + }; + + /** + * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.HttpRule + * @static + * @param {Object.} object Plain object + * @returns {google.api.HttpRule} HttpRule + */ + HttpRule.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.HttpRule) + return object; + var message = new $root.google.api.HttpRule(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.get != null) + message.get = String(object.get); + if (object.put != null) + message.put = String(object.put); + if (object.post != null) + message.post = String(object.post); + if (object["delete"] != null) + message["delete"] = String(object["delete"]); + if (object.patch != null) + message.patch = String(object.patch); + if (object.custom != null) { + if (typeof object.custom !== "object") + throw TypeError(".google.api.HttpRule.custom: object expected"); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + } + if (object.body != null) + message.body = String(object.body); + if (object.responseBody != null) + message.responseBody = String(object.responseBody); + if (object.additionalBindings) { + if (!Array.isArray(object.additionalBindings)) + throw TypeError(".google.api.HttpRule.additionalBindings: array expected"); + message.additionalBindings = []; + for (var i = 0; i < object.additionalBindings.length; ++i) { + if (typeof object.additionalBindings[i] !== "object") + throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a HttpRule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.HttpRule + * @static + * @param {google.api.HttpRule} message HttpRule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HttpRule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.additionalBindings = []; + if (options.defaults) { + object.selector = ""; + object.body = ""; + object.responseBody = ""; + } + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + if (message.get != null && message.hasOwnProperty("get")) { + object.get = message.get; + if (options.oneofs) + object.pattern = "get"; + } + if (message.put != null && message.hasOwnProperty("put")) { + object.put = message.put; + if (options.oneofs) + object.pattern = "put"; + } + if (message.post != null && message.hasOwnProperty("post")) { + object.post = message.post; + if (options.oneofs) + object.pattern = "post"; + } + if (message["delete"] != null && message.hasOwnProperty("delete")) { + object["delete"] = message["delete"]; + if (options.oneofs) + object.pattern = "delete"; + } + if (message.patch != null && message.hasOwnProperty("patch")) { + object.patch = message.patch; + if (options.oneofs) + object.pattern = "patch"; + } + if (message.body != null && message.hasOwnProperty("body")) + object.body = message.body; + if (message.custom != null && message.hasOwnProperty("custom")) { + object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options); + if (options.oneofs) + object.pattern = "custom"; + } + if (message.additionalBindings && message.additionalBindings.length) { + object.additionalBindings = []; + for (var j = 0; j < message.additionalBindings.length; ++j) + object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options); + } + if (message.responseBody != null && message.hasOwnProperty("responseBody")) + object.responseBody = message.responseBody; + return object; + }; + + /** + * Converts this HttpRule to JSON. + * @function toJSON + * @memberof google.api.HttpRule + * @instance + * @returns {Object.} JSON object + */ + HttpRule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return HttpRule; + })(); + + api.CustomHttpPattern = (function() { + + /** + * Properties of a CustomHttpPattern. + * @memberof google.api + * @interface ICustomHttpPattern + * @property {string|null} [kind] CustomHttpPattern kind + * @property {string|null} [path] CustomHttpPattern path + */ + + /** + * Constructs a new CustomHttpPattern. + * @memberof google.api + * @classdesc Represents a CustomHttpPattern. + * @implements ICustomHttpPattern + * @constructor + * @param {google.api.ICustomHttpPattern=} [properties] Properties to set + */ + function CustomHttpPattern(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]]; + } + + /** + * CustomHttpPattern kind. + * @member {string} kind + * @memberof google.api.CustomHttpPattern + * @instance + */ + CustomHttpPattern.prototype.kind = ""; + + /** + * CustomHttpPattern path. + * @member {string} path + * @memberof google.api.CustomHttpPattern + * @instance + */ + CustomHttpPattern.prototype.path = ""; + + /** + * Creates a new CustomHttpPattern instance using the specified properties. + * @function create + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern=} [properties] Properties to set + * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance + */ + CustomHttpPattern.create = function create(properties) { + return new CustomHttpPattern(properties); + }; + + /** + * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @function encode + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomHttpPattern.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); + if (message.path != null && Object.hasOwnProperty.call(message, "path")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); + return writer; + }; + + /** + * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer. + * @function decode + * @memberof google.api.CustomHttpPattern + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomHttpPattern.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.api.CustomHttpPattern(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.kind = reader.string(); + break; + case 2: + message.path = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.CustomHttpPattern + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CustomHttpPattern message. + * @function verify + * @memberof google.api.CustomHttpPattern + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CustomHttpPattern.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.kind != null && message.hasOwnProperty("kind")) + if (!$util.isString(message.kind)) + return "kind: string expected"; + if (message.path != null && message.hasOwnProperty("path")) + if (!$util.isString(message.path)) + return "path: string expected"; + return null; + }; + + /** + * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.CustomHttpPattern + * @static + * @param {Object.} object Plain object + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + */ + CustomHttpPattern.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.CustomHttpPattern) + return object; + var message = new $root.google.api.CustomHttpPattern(); + if (object.kind != null) + message.kind = String(object.kind); + if (object.path != null) + message.path = String(object.path); + return message; + }; + + /** + * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.CustomHttpPattern} message CustomHttpPattern + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CustomHttpPattern.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.kind = ""; + object.path = ""; + } + if (message.kind != null && message.hasOwnProperty("kind")) + object.kind = message.kind; + if (message.path != null && message.hasOwnProperty("path")) + object.path = message.path; + return object; + }; + + /** + * Converts this CustomHttpPattern to JSON. + * @function toJSON + * @memberof google.api.CustomHttpPattern + * @instance + * @returns {Object.} JSON object + */ + CustomHttpPattern.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CustomHttpPattern; + })(); + + /** + * FieldBehavior enum. + * @name google.api.FieldBehavior + * @enum {number} + * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value + * @property {number} OPTIONAL=1 OPTIONAL value + * @property {number} REQUIRED=2 REQUIRED value + * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value + * @property {number} INPUT_ONLY=4 INPUT_ONLY value + * @property {number} IMMUTABLE=5 IMMUTABLE value + * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value + */ + api.FieldBehavior = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0; + values[valuesById[1] = "OPTIONAL"] = 1; + values[valuesById[2] = "REQUIRED"] = 2; + values[valuesById[3] = "OUTPUT_ONLY"] = 3; + values[valuesById[4] = "INPUT_ONLY"] = 4; + values[valuesById[5] = "IMMUTABLE"] = 5; + values[valuesById[6] = "UNORDERED_LIST"] = 6; + return values; + })(); + + api.ResourceDescriptor = (function() { + + /** + * Properties of a ResourceDescriptor. + * @memberof google.api + * @interface IResourceDescriptor + * @property {string|null} [type] ResourceDescriptor type + * @property {Array.|null} [pattern] ResourceDescriptor pattern + * @property {string|null} [nameField] ResourceDescriptor nameField + * @property {google.api.ResourceDescriptor.History|null} [history] ResourceDescriptor history + * @property {string|null} [plural] ResourceDescriptor plural + * @property {string|null} [singular] ResourceDescriptor singular + * @property {Array.|null} [style] ResourceDescriptor style + */ + + /** + * Constructs a new ResourceDescriptor. + * @memberof google.api + * @classdesc Represents a ResourceDescriptor. + * @implements IResourceDescriptor + * @constructor + * @param {google.api.IResourceDescriptor=} [properties] Properties to set + */ + function ResourceDescriptor(properties) { + this.pattern = []; + this.style = []; + 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]]; + } + + /** + * ResourceDescriptor type. + * @member {string} type + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.type = ""; + + /** + * ResourceDescriptor pattern. + * @member {Array.} pattern + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.pattern = $util.emptyArray; + + /** + * ResourceDescriptor nameField. + * @member {string} nameField + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.nameField = ""; + + /** + * ResourceDescriptor history. + * @member {google.api.ResourceDescriptor.History} history + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.history = 0; + + /** + * ResourceDescriptor plural. + * @member {string} plural + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.plural = ""; + + /** + * ResourceDescriptor singular. + * @member {string} singular + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.singular = ""; + + /** + * ResourceDescriptor style. + * @member {Array.} style + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.style = $util.emptyArray; + + /** + * Creates a new ResourceDescriptor instance using the specified properties. + * @function create + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor=} [properties] Properties to set + * @returns {google.api.ResourceDescriptor} ResourceDescriptor instance + */ + ResourceDescriptor.create = function create(properties) { + return new ResourceDescriptor(properties); + }; + + /** + * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.pattern != null && message.pattern.length) + for (var i = 0; i < message.pattern.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); + if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); + if (message.history != null && Object.hasOwnProperty.call(message, "history")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); + if (message.plural != null && Object.hasOwnProperty.call(message, "plural")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); + if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); + if (message.style != null && message.style.length) { + writer.uint32(/* id 10, wireType 2 =*/82).fork(); + for (var i = 0; i < message.style.length; ++i) + writer.int32(message.style[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.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.api.ResourceDescriptor(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + if (!(message.pattern && message.pattern.length)) + message.pattern = []; + message.pattern.push(reader.string()); + break; + case 3: + message.nameField = reader.string(); + break; + case 4: + message.history = reader.int32(); + break; + case 5: + message.plural = reader.string(); + break; + case 6: + message.singular = reader.string(); + break; + case 10: + if (!(message.style && message.style.length)) + message.style = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.style.push(reader.int32()); + } else + message.style.push(reader.int32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceDescriptor message. + * @function verify + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceDescriptor.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.pattern != null && message.hasOwnProperty("pattern")) { + if (!Array.isArray(message.pattern)) + return "pattern: array expected"; + for (var i = 0; i < message.pattern.length; ++i) + if (!$util.isString(message.pattern[i])) + return "pattern: string[] expected"; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + if (!$util.isString(message.nameField)) + return "nameField: string expected"; + if (message.history != null && message.hasOwnProperty("history")) + switch (message.history) { + default: + return "history: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.plural != null && message.hasOwnProperty("plural")) + if (!$util.isString(message.plural)) + return "plural: string expected"; + if (message.singular != null && message.hasOwnProperty("singular")) + if (!$util.isString(message.singular)) + return "singular: string expected"; + if (message.style != null && message.hasOwnProperty("style")) { + if (!Array.isArray(message.style)) + return "style: array expected"; + for (var i = 0; i < message.style.length; ++i) + switch (message.style[i]) { + default: + return "style: enum value[] expected"; + case 0: + case 1: + break; + } + } + return null; + }; + + /** + * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + */ + ResourceDescriptor.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceDescriptor) + return object; + var message = new $root.google.api.ResourceDescriptor(); + if (object.type != null) + message.type = String(object.type); + if (object.pattern) { + if (!Array.isArray(object.pattern)) + throw TypeError(".google.api.ResourceDescriptor.pattern: array expected"); + message.pattern = []; + for (var i = 0; i < object.pattern.length; ++i) + message.pattern[i] = String(object.pattern[i]); + } + if (object.nameField != null) + message.nameField = String(object.nameField); + switch (object.history) { + case "HISTORY_UNSPECIFIED": + case 0: + message.history = 0; + break; + case "ORIGINALLY_SINGLE_PATTERN": + case 1: + message.history = 1; + break; + case "FUTURE_MULTI_PATTERN": + case 2: + message.history = 2; + break; + } + if (object.plural != null) + message.plural = String(object.plural); + if (object.singular != null) + message.singular = String(object.singular); + if (object.style) { + if (!Array.isArray(object.style)) + throw TypeError(".google.api.ResourceDescriptor.style: array expected"); + message.style = []; + for (var i = 0; i < object.style.length; ++i) + switch (object.style[i]) { + default: + case "STYLE_UNSPECIFIED": + case 0: + message.style[i] = 0; + break; + case "DECLARATIVE_FRIENDLY": + case 1: + message.style[i] = 1; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.ResourceDescriptor} message ResourceDescriptor + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceDescriptor.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.pattern = []; + object.style = []; + } + if (options.defaults) { + object.type = ""; + object.nameField = ""; + object.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0; + object.plural = ""; + object.singular = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.pattern && message.pattern.length) { + object.pattern = []; + for (var j = 0; j < message.pattern.length; ++j) + object.pattern[j] = message.pattern[j]; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + object.nameField = message.nameField; + if (message.history != null && message.hasOwnProperty("history")) + object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] : message.history; + if (message.plural != null && message.hasOwnProperty("plural")) + object.plural = message.plural; + if (message.singular != null && message.hasOwnProperty("singular")) + object.singular = message.singular; + if (message.style && message.style.length) { + object.style = []; + for (var j = 0; j < message.style.length; ++j) + object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; + } + return object; + }; + + /** + * Converts this ResourceDescriptor to JSON. + * @function toJSON + * @memberof google.api.ResourceDescriptor + * @instance + * @returns {Object.} JSON object + */ + ResourceDescriptor.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * History enum. + * @name google.api.ResourceDescriptor.History + * @enum {number} + * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value + * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value + * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value + */ + ResourceDescriptor.History = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "HISTORY_UNSPECIFIED"] = 0; + values[valuesById[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1; + values[valuesById[2] = "FUTURE_MULTI_PATTERN"] = 2; + return values; + })(); + + /** + * Style enum. + * @name google.api.ResourceDescriptor.Style + * @enum {number} + * @property {number} STYLE_UNSPECIFIED=0 STYLE_UNSPECIFIED value + * @property {number} DECLARATIVE_FRIENDLY=1 DECLARATIVE_FRIENDLY value + */ + ResourceDescriptor.Style = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STYLE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DECLARATIVE_FRIENDLY"] = 1; + return values; + })(); + + return ResourceDescriptor; + })(); + + api.ResourceReference = (function() { + + /** + * Properties of a ResourceReference. + * @memberof google.api + * @interface IResourceReference + * @property {string|null} [type] ResourceReference type + * @property {string|null} [childType] ResourceReference childType + */ + + /** + * Constructs a new ResourceReference. + * @memberof google.api + * @classdesc Represents a ResourceReference. + * @implements IResourceReference + * @constructor + * @param {google.api.IResourceReference=} [properties] Properties to set + */ + function ResourceReference(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]]; + } + + /** + * ResourceReference type. + * @member {string} type + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.type = ""; + + /** + * ResourceReference childType. + * @member {string} childType + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.childType = ""; + + /** + * Creates a new ResourceReference instance using the specified properties. + * @function create + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference=} [properties] Properties to set + * @returns {google.api.ResourceReference} ResourceReference instance + */ + ResourceReference.create = function create(properties) { + return new ResourceReference(properties); + }; + + /** + * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.childType != null && Object.hasOwnProperty.call(message, "childType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); + return writer; + }; + + /** + * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.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.api.ResourceReference(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + message.childType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceReference message. + * @function verify + * @memberof google.api.ResourceReference + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceReference.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.childType != null && message.hasOwnProperty("childType")) + if (!$util.isString(message.childType)) + return "childType: string expected"; + return null; + }; + + /** + * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceReference + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceReference} ResourceReference + */ + ResourceReference.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceReference) + return object; + var message = new $root.google.api.ResourceReference(); + if (object.type != null) + message.type = String(object.type); + if (object.childType != null) + message.childType = String(object.childType); + return message; + }; + + /** + * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceReference + * @static + * @param {google.api.ResourceReference} message ResourceReference + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceReference.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = ""; + object.childType = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.childType != null && message.hasOwnProperty("childType")) + object.childType = message.childType; + return object; + }; + + /** + * Converts this ResourceReference to JSON. + * @function toJSON + * @memberof google.api.ResourceReference + * @instance + * @returns {Object.} JSON object + */ + ResourceReference.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ResourceReference; + })(); + + return api; + })(); + + google.protobuf = (function() { + + /** + * Namespace protobuf. + * @memberof google + * @namespace + */ + var protobuf = {}; + + protobuf.FileDescriptorSet = (function() { + + /** + * Properties of a FileDescriptorSet. + * @memberof google.protobuf + * @interface IFileDescriptorSet + * @property {Array.|null} [file] FileDescriptorSet file + */ + + /** + * Constructs a new FileDescriptorSet. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorSet. + * @implements IFileDescriptorSet + * @constructor + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + */ + function FileDescriptorSet(properties) { + this.file = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorSet file. + * @member {Array.} file + * @memberof google.protobuf.FileDescriptorSet + * @instance + */ + FileDescriptorSet.prototype.file = $util.emptyArray; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance + */ + FileDescriptorSet.create = function create(properties) { + return new FileDescriptorSet(properties); + }; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.file != null && message.file.length) + for (var i = 0; i < message.file.length; ++i) + $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorSet message. + * @function verify + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.file != null && message.hasOwnProperty("file")) { + if (!Array.isArray(message.file)) + return "file: array expected"; + for (var i = 0; i < message.file.length; ++i) { + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + if (error) + return "file." + error; + } + } + return null; + }; + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + */ + FileDescriptorSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorSet) + return object; + var message = new $root.google.protobuf.FileDescriptorSet(); + if (object.file) { + if (!Array.isArray(object.file)) + throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); + message.file = []; + for (var i = 0; i < object.file.length; ++i) { + if (typeof object.file[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.file = []; + if (message.file && message.file.length) { + object.file = []; + for (var j = 0; j < message.file.length; ++j) + object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); + } + return object; + }; + + /** + * Converts this FileDescriptorSet to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorSet + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FileDescriptorSet; + })(); + + protobuf.FileDescriptorProto = (function() { + + /** + * Properties of a FileDescriptorProto. + * @memberof google.protobuf + * @interface IFileDescriptorProto + * @property {string|null} [name] FileDescriptorProto name + * @property {string|null} ["package"] FileDescriptorProto package + * @property {Array.|null} [dependency] FileDescriptorProto dependency + * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency + * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [messageType] FileDescriptorProto messageType + * @property {Array.|null} [enumType] FileDescriptorProto enumType + * @property {Array.|null} [service] FileDescriptorProto service + * @property {Array.|null} [extension] FileDescriptorProto extension + * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options + * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo + * @property {string|null} [syntax] FileDescriptorProto syntax + */ + + /** + * Constructs a new FileDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorProto. + * @implements IFileDescriptorProto + * @constructor + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + */ + function FileDescriptorProto(properties) { + this.dependency = []; + this.publicDependency = []; + this.weakDependency = []; + this.messageType = []; + this.enumType = []; + this.service = []; + this.extension = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.name = ""; + + /** + * FileDescriptorProto package. + * @member {string} package + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype["package"] = ""; + + /** + * FileDescriptorProto dependency. + * @member {Array.} dependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.dependency = $util.emptyArray; + + /** + * FileDescriptorProto publicDependency. + * @member {Array.} publicDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.publicDependency = $util.emptyArray; + + /** + * FileDescriptorProto weakDependency. + * @member {Array.} weakDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + + /** + * FileDescriptorProto messageType. + * @member {Array.} messageType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.messageType = $util.emptyArray; + + /** + * FileDescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * FileDescriptorProto service. + * @member {Array.} service + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.service = $util.emptyArray; + + /** + * FileDescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.extension = $util.emptyArray; + + /** + * FileDescriptorProto options. + * @member {google.protobuf.IFileOptions|null|undefined} options + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.options = null; + + /** + * FileDescriptorProto sourceCodeInfo. + * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.sourceCodeInfo = null; + + /** + * FileDescriptorProto syntax. + * @member {string} syntax + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.syntax = ""; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance + */ + FileDescriptorProto.create = function create(properties) { + return new FileDescriptorProto(properties); + }; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); + if (message.dependency != null && message.dependency.length) + for (var i = 0; i < message.dependency.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]); + if (message.messageType != null && message.messageType.length) + for (var i = 0; i < message.messageType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.service != null && message.service.length) + for (var i = 0; i < message.service.length; ++i) + $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) + $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.publicDependency != null && message.publicDependency.length) + for (var i = 0; i < message.publicDependency.length; ++i) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]); + if (message.weakDependency != null && message.weakDependency.length) + for (var i = 0; i < message.weakDependency.length; ++i) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + return writer; + }; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message["package"] = reader.string(); + break; + case 3: + if (!(message.dependency && message.dependency.length)) + message.dependency = []; + message.dependency.push(reader.string()); + break; + case 10: + if (!(message.publicDependency && message.publicDependency.length)) + message.publicDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.publicDependency.push(reader.int32()); + } else + message.publicDependency.push(reader.int32()); + break; + case 11: + if (!(message.weakDependency && message.weakDependency.length)) + message.weakDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.weakDependency.push(reader.int32()); + } else + message.weakDependency.push(reader.int32()); + break; + case 4: + if (!(message.messageType && message.messageType.length)) + message.messageType = []; + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.service && message.service.length)) + message.service = []; + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + break; + case 7: + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 8: + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + break; + case 9: + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + break; + case 12: + message.syntax = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorProto message. + * @function verify + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message["package"] != null && message.hasOwnProperty("package")) + if (!$util.isString(message["package"])) + return "package: string expected"; + if (message.dependency != null && message.hasOwnProperty("dependency")) { + if (!Array.isArray(message.dependency)) + return "dependency: array expected"; + for (var i = 0; i < message.dependency.length; ++i) + if (!$util.isString(message.dependency[i])) + return "dependency: string[] expected"; + } + if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) { + if (!Array.isArray(message.publicDependency)) + return "publicDependency: array expected"; + for (var i = 0; i < message.publicDependency.length; ++i) + if (!$util.isInteger(message.publicDependency[i])) + return "publicDependency: integer[] expected"; + } + if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) { + if (!Array.isArray(message.weakDependency)) + return "weakDependency: array expected"; + for (var i = 0; i < message.weakDependency.length; ++i) + if (!$util.isInteger(message.weakDependency[i])) + return "weakDependency: integer[] expected"; + } + if (message.messageType != null && message.hasOwnProperty("messageType")) { + if (!Array.isArray(message.messageType)) + return "messageType: array expected"; + for (var i = 0; i < message.messageType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + if (error) + return "messageType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.service != null && message.hasOwnProperty("service")) { + if (!Array.isArray(message.service)) + return "service: array expected"; + for (var i = 0; i < message.service.length; ++i) { + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + if (error) + return "service." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FileOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + if (error) + return "sourceCodeInfo." + error; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + if (!$util.isString(message.syntax)) + return "syntax: string expected"; + return null; + }; + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + */ + FileDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorProto) + return object; + var message = new $root.google.protobuf.FileDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object["package"] != null) + message["package"] = String(object["package"]); + if (object.dependency) { + if (!Array.isArray(object.dependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected"); + message.dependency = []; + for (var i = 0; i < object.dependency.length; ++i) + message.dependency[i] = String(object.dependency[i]); + } + if (object.publicDependency) { + if (!Array.isArray(object.publicDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected"); + message.publicDependency = []; + for (var i = 0; i < object.publicDependency.length; ++i) + message.publicDependency[i] = object.publicDependency[i] | 0; + } + if (object.weakDependency) { + if (!Array.isArray(object.weakDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected"); + message.weakDependency = []; + for (var i = 0; i < object.weakDependency.length; ++i) + message.weakDependency[i] = object.weakDependency[i] | 0; + } + if (object.messageType) { + if (!Array.isArray(object.messageType)) + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); + message.messageType = []; + for (var i = 0; i < object.messageType.length; ++i) { + if (typeof object.messageType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.service) { + if (!Array.isArray(object.service)) + throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected"); + message.service = []; + for (var i = 0; i < object.service.length; ++i) { + if (typeof object.service[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + } + if (object.sourceCodeInfo != null) { + if (typeof object.sourceCodeInfo !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + } + if (object.syntax != null) + message.syntax = String(object.syntax); + return message; + }; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.dependency = []; + object.messageType = []; + object.enumType = []; + object.service = []; + object.extension = []; + object.publicDependency = []; + object.weakDependency = []; + } + if (options.defaults) { + object.name = ""; + object["package"] = ""; + object.options = null; + object.sourceCodeInfo = null; + object.syntax = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message["package"] != null && message.hasOwnProperty("package")) + object["package"] = message["package"]; + if (message.dependency && message.dependency.length) { + object.dependency = []; + for (var j = 0; j < message.dependency.length; ++j) + object.dependency[j] = message.dependency[j]; + } + if (message.messageType && message.messageType.length) { + object.messageType = []; + for (var j = 0; j < message.messageType.length; ++j) + object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.service && message.service.length) { + object.service = []; + for (var j = 0; j < message.service.length; ++j) + object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FileOptions.toObject(message.options, options); + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options); + if (message.publicDependency && message.publicDependency.length) { + object.publicDependency = []; + for (var j = 0; j < message.publicDependency.length; ++j) + object.publicDependency[j] = message.publicDependency[j]; + } + if (message.weakDependency && message.weakDependency.length) { + object.weakDependency = []; + for (var j = 0; j < message.weakDependency.length; ++j) + object.weakDependency[j] = message.weakDependency[j]; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = message.syntax; + return object; + }; + + /** + * Converts this FileDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FileDescriptorProto; + })(); + + protobuf.DescriptorProto = (function() { + + /** + * Properties of a DescriptorProto. + * @memberof google.protobuf + * @interface IDescriptorProto + * @property {string|null} [name] DescriptorProto name + * @property {Array.|null} [field] DescriptorProto field + * @property {Array.|null} [extension] DescriptorProto extension + * @property {Array.|null} [nestedType] DescriptorProto nestedType + * @property {Array.|null} [enumType] DescriptorProto enumType + * @property {Array.|null} [extensionRange] DescriptorProto extensionRange + * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl + * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options + * @property {Array.|null} [reservedRange] DescriptorProto reservedRange + * @property {Array.|null} [reservedName] DescriptorProto reservedName + */ + + /** + * Constructs a new DescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a DescriptorProto. + * @implements IDescriptorProto + * @constructor + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + */ + function DescriptorProto(properties) { + this.field = []; + this.extension = []; + this.nestedType = []; + this.enumType = []; + this.extensionRange = []; + this.oneofDecl = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DescriptorProto name. + * @member {string} name + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.name = ""; + + /** + * DescriptorProto field. + * @member {Array.} field + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.field = $util.emptyArray; + + /** + * DescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extension = $util.emptyArray; + + /** + * DescriptorProto nestedType. + * @member {Array.} nestedType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.nestedType = $util.emptyArray; + + /** + * DescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * DescriptorProto extensionRange. + * @member {Array.} extensionRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extensionRange = $util.emptyArray; + + /** + * DescriptorProto oneofDecl. + * @member {Array.} oneofDecl + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.oneofDecl = $util.emptyArray; + + /** + * DescriptorProto options. + * @member {google.protobuf.IMessageOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.options = null; + + /** + * DescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * DescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto} DescriptorProto instance + */ + DescriptorProto.create = function create(properties) { + return new DescriptorProto(properties); + }; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.field != null && message.field.length) + for (var i = 0; i < message.field.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.nestedType != null && message.nestedType.length) + for (var i = 0; i < message.nestedType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.extensionRange != null && message.extensionRange.length) + for (var i = 0; i < message.extensionRange.length; ++i) + $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.oneofDecl != null && message.oneofDecl.length) + for (var i = 0; i < message.oneofDecl.length; ++i) + $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.field && message.field.length)) + message.field = []; + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.nestedType && message.nestedType.length)) + message.nestedType = []; + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.extensionRange && message.extensionRange.length)) + message.extensionRange = []; + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.oneofDecl && message.oneofDecl.length)) + message.oneofDecl = []; + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + break; + case 7: + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + break; + case 9: + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + break; + case 10: + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DescriptorProto message. + * @function verify + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.field != null && message.hasOwnProperty("field")) { + if (!Array.isArray(message.field)) + return "field: array expected"; + for (var i = 0; i < message.field.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + if (error) + return "field." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.nestedType != null && message.hasOwnProperty("nestedType")) { + if (!Array.isArray(message.nestedType)) + return "nestedType: array expected"; + for (var i = 0; i < message.nestedType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + if (error) + return "nestedType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) { + if (!Array.isArray(message.extensionRange)) + return "extensionRange: array expected"; + for (var i = 0; i < message.extensionRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + if (error) + return "extensionRange." + error; + } + } + if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) { + if (!Array.isArray(message.oneofDecl)) + return "oneofDecl: array expected"; + for (var i = 0; i < message.oneofDecl.length; ++i) { + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + if (error) + return "oneofDecl." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MessageOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto} DescriptorProto + */ + DescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto) + return object; + var message = new $root.google.protobuf.DescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.field) { + if (!Array.isArray(object.field)) + throw TypeError(".google.protobuf.DescriptorProto.field: array expected"); + message.field = []; + for (var i = 0; i < object.field.length; ++i) { + if (typeof object.field[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.DescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.nestedType) { + if (!Array.isArray(object.nestedType)) + throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected"); + message.nestedType = []; + for (var i = 0; i < object.nestedType.length; ++i) { + if (typeof object.nestedType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.extensionRange) { + if (!Array.isArray(object.extensionRange)) + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected"); + message.extensionRange = []; + for (var i = 0; i < object.extensionRange.length; ++i) { + if (typeof object.extensionRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + } + } + if (object.oneofDecl) { + if (!Array.isArray(object.oneofDecl)) + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected"); + message.oneofDecl = []; + for (var i = 0; i < object.oneofDecl.length; ++i) { + if (typeof object.oneofDecl[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.DescriptorProto} message DescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.field = []; + object.nestedType = []; + object.enumType = []; + object.extensionRange = []; + object.extension = []; + object.oneofDecl = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.field && message.field.length) { + object.field = []; + for (var j = 0; j < message.field.length; ++j) + object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options); + } + if (message.nestedType && message.nestedType.length) { + object.nestedType = []; + for (var j = 0; j < message.nestedType.length; ++j) + object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.extensionRange && message.extensionRange.length) { + object.extensionRange = []; + for (var j = 0; j < message.extensionRange.length; ++j) + object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options); + if (message.oneofDecl && message.oneofDecl.length) { + object.oneofDecl = []; + for (var j = 0; j < message.oneofDecl.length; ++j) + object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options); + } + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this DescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto + * @instance + * @returns {Object.} JSON object + */ + DescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + DescriptorProto.ExtensionRange = (function() { + + /** + * Properties of an ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @interface IExtensionRange + * @property {number|null} [start] ExtensionRange start + * @property {number|null} [end] ExtensionRange end + * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options + */ + + /** + * Constructs a new ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents an ExtensionRange. + * @implements IExtensionRange + * @constructor + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + */ + function ExtensionRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.start = 0; + + /** + * ExtensionRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.end = 0; + + /** + * ExtensionRange options. + * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.options = null; + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance + */ + ExtensionRange.create = function create(properties) { + return new ExtensionRange(properties); + }; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + case 3: + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + */ + ExtensionRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + object.options = null; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ExtensionRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + * @returns {Object.} JSON object + */ + ExtensionRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExtensionRange; + })(); + + DescriptorProto.ReservedRange = (function() { + + /** + * Properties of a ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @interface IReservedRange + * @property {number|null} [start] ReservedRange start + * @property {number|null} [end] ReservedRange end + */ + + /** + * Constructs a new ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents a ReservedRange. + * @implements IReservedRange + * @constructor + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + */ + function ReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReservedRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.start = 0; + + /** + * ReservedRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.end = 0; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance + */ + ReservedRange.create = function create(properties) { + return new ReservedRange(properties); + }; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReservedRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + */ + ReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this ReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + * @returns {Object.} JSON object + */ + ReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ReservedRange; + })(); + + return DescriptorProto; + })(); + + protobuf.ExtensionRangeOptions = (function() { + + /** + * Properties of an ExtensionRangeOptions. + * @memberof google.protobuf + * @interface IExtensionRangeOptions + * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption + */ + + /** + * Constructs a new ExtensionRangeOptions. + * @memberof google.protobuf + * @classdesc Represents an ExtensionRangeOptions. + * @implements IExtensionRangeOptions + * @constructor + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + */ + function ExtensionRangeOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRangeOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance + */ + ExtensionRangeOptions.create = function create(properties) { + return new ExtensionRangeOptions(properties); + }; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRangeOptions message. + * @function verify + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRangeOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + */ + ExtensionRangeOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ExtensionRangeOptions) + return object; + var message = new $root.google.protobuf.ExtensionRangeOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRangeOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + * @returns {Object.} JSON object + */ + ExtensionRangeOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExtensionRangeOptions; + })(); + + protobuf.FieldDescriptorProto = (function() { + + /** + * Properties of a FieldDescriptorProto. + * @memberof google.protobuf + * @interface IFieldDescriptorProto + * @property {string|null} [name] FieldDescriptorProto name + * @property {number|null} [number] FieldDescriptorProto number + * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label + * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type + * @property {string|null} [typeName] FieldDescriptorProto typeName + * @property {string|null} [extendee] FieldDescriptorProto extendee + * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue + * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex + * @property {string|null} [jsonName] FieldDescriptorProto jsonName + * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options + * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional + */ + + /** + * Constructs a new FieldDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FieldDescriptorProto. + * @implements IFieldDescriptorProto + * @constructor + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + */ + function FieldDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.name = ""; + + /** + * FieldDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.number = 0; + + /** + * FieldDescriptorProto label. + * @member {google.protobuf.FieldDescriptorProto.Label} label + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.label = 1; + + /** + * FieldDescriptorProto type. + * @member {google.protobuf.FieldDescriptorProto.Type} type + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.type = 1; + + /** + * FieldDescriptorProto typeName. + * @member {string} typeName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.typeName = ""; + + /** + * FieldDescriptorProto extendee. + * @member {string} extendee + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.extendee = ""; + + /** + * FieldDescriptorProto defaultValue. + * @member {string} defaultValue + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.defaultValue = ""; + + /** + * FieldDescriptorProto oneofIndex. + * @member {number} oneofIndex + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.oneofIndex = 0; + + /** + * FieldDescriptorProto jsonName. + * @member {string} jsonName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.jsonName = ""; + + /** + * FieldDescriptorProto options. + * @member {google.protobuf.IFieldOptions|null|undefined} options + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.options = null; + + /** + * FieldDescriptorProto proto3Optional. + * @member {boolean} proto3Optional + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.proto3Optional = false; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance + */ + FieldDescriptorProto.create = function create(properties) { + return new FieldDescriptorProto(properties); + }; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); + if (message.label != null && Object.hasOwnProperty.call(message, "label")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); + if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); + if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); + if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional); + return writer; + }; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 3: + message.number = reader.int32(); + break; + case 4: + message.label = reader.int32(); + break; + case 5: + message.type = reader.int32(); + break; + case 6: + message.typeName = reader.string(); + break; + case 2: + message.extendee = reader.string(); + break; + case 7: + message.defaultValue = reader.string(); + break; + case 9: + message.oneofIndex = reader.int32(); + break; + case 10: + message.jsonName = reader.string(); + break; + case 8: + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + break; + case 17: + message.proto3Optional = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldDescriptorProto message. + * @function verify + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.label != null && message.hasOwnProperty("label")) + switch (message.label) { + default: + return "label: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + break; + } + if (message.typeName != null && message.hasOwnProperty("typeName")) + if (!$util.isString(message.typeName)) + return "typeName: string expected"; + if (message.extendee != null && message.hasOwnProperty("extendee")) + if (!$util.isString(message.extendee)) + return "extendee: string expected"; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (!$util.isString(message.defaultValue)) + return "defaultValue: string expected"; + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (!$util.isInteger(message.oneofIndex)) + return "oneofIndex: integer expected"; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (!$util.isString(message.jsonName)) + return "jsonName: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FieldOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + if (typeof message.proto3Optional !== "boolean") + return "proto3Optional: boolean expected"; + return null; + }; + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + */ + FieldDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldDescriptorProto) + return object; + var message = new $root.google.protobuf.FieldDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + switch (object.label) { + case "LABEL_OPTIONAL": + case 1: + message.label = 1; + break; + case "LABEL_REQUIRED": + case 2: + message.label = 2; + break; + case "LABEL_REPEATED": + case 3: + message.label = 3; + break; + } + switch (object.type) { + case "TYPE_DOUBLE": + case 1: + message.type = 1; + break; + case "TYPE_FLOAT": + case 2: + message.type = 2; + break; + case "TYPE_INT64": + case 3: + message.type = 3; + break; + case "TYPE_UINT64": + case 4: + message.type = 4; + break; + case "TYPE_INT32": + case 5: + message.type = 5; + break; + case "TYPE_FIXED64": + case 6: + message.type = 6; + break; + case "TYPE_FIXED32": + case 7: + message.type = 7; + break; + case "TYPE_BOOL": + case 8: + message.type = 8; + break; + case "TYPE_STRING": + case 9: + message.type = 9; + break; + case "TYPE_GROUP": + case 10: + message.type = 10; + break; + case "TYPE_MESSAGE": + case 11: + message.type = 11; + break; + case "TYPE_BYTES": + case 12: + message.type = 12; + break; + case "TYPE_UINT32": + case 13: + message.type = 13; + break; + case "TYPE_ENUM": + case 14: + message.type = 14; + break; + case "TYPE_SFIXED32": + case 15: + message.type = 15; + break; + case "TYPE_SFIXED64": + case 16: + message.type = 16; + break; + case "TYPE_SINT32": + case 17: + message.type = 17; + break; + case "TYPE_SINT64": + case 18: + message.type = 18; + break; + } + if (object.typeName != null) + message.typeName = String(object.typeName); + if (object.extendee != null) + message.extendee = String(object.extendee); + if (object.defaultValue != null) + message.defaultValue = String(object.defaultValue); + if (object.oneofIndex != null) + message.oneofIndex = object.oneofIndex | 0; + if (object.jsonName != null) + message.jsonName = String(object.jsonName); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + } + if (object.proto3Optional != null) + message.proto3Optional = Boolean(object.proto3Optional); + return message; + }; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.extendee = ""; + object.number = 0; + object.label = options.enums === String ? "LABEL_OPTIONAL" : 1; + object.type = options.enums === String ? "TYPE_DOUBLE" : 1; + object.typeName = ""; + object.defaultValue = ""; + object.options = null; + object.oneofIndex = 0; + object.jsonName = ""; + object.proto3Optional = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.extendee != null && message.hasOwnProperty("extendee")) + object.extendee = message.extendee; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.label != null && message.hasOwnProperty("label")) + object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; + if (message.typeName != null && message.hasOwnProperty("typeName")) + object.typeName = message.typeName; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + object.defaultValue = message.defaultValue; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options); + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + object.oneofIndex = message.oneofIndex; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + object.jsonName = message.jsonName; + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + object.proto3Optional = message.proto3Optional; + return object; + }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FieldDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FieldDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.protobuf.FieldDescriptorProto.Type + * @enum {number} + * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value + * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value + * @property {number} TYPE_INT64=3 TYPE_INT64 value + * @property {number} TYPE_UINT64=4 TYPE_UINT64 value + * @property {number} TYPE_INT32=5 TYPE_INT32 value + * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value + * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value + * @property {number} TYPE_BOOL=8 TYPE_BOOL value + * @property {number} TYPE_STRING=9 TYPE_STRING value + * @property {number} TYPE_GROUP=10 TYPE_GROUP value + * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value + * @property {number} TYPE_BYTES=12 TYPE_BYTES value + * @property {number} TYPE_UINT32=13 TYPE_UINT32 value + * @property {number} TYPE_ENUM=14 TYPE_ENUM value + * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value + * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value + * @property {number} TYPE_SINT32=17 TYPE_SINT32 value + * @property {number} TYPE_SINT64=18 TYPE_SINT64 value + */ + FieldDescriptorProto.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "TYPE_DOUBLE"] = 1; + values[valuesById[2] = "TYPE_FLOAT"] = 2; + values[valuesById[3] = "TYPE_INT64"] = 3; + values[valuesById[4] = "TYPE_UINT64"] = 4; + values[valuesById[5] = "TYPE_INT32"] = 5; + values[valuesById[6] = "TYPE_FIXED64"] = 6; + values[valuesById[7] = "TYPE_FIXED32"] = 7; + values[valuesById[8] = "TYPE_BOOL"] = 8; + values[valuesById[9] = "TYPE_STRING"] = 9; + values[valuesById[10] = "TYPE_GROUP"] = 10; + values[valuesById[11] = "TYPE_MESSAGE"] = 11; + values[valuesById[12] = "TYPE_BYTES"] = 12; + values[valuesById[13] = "TYPE_UINT32"] = 13; + values[valuesById[14] = "TYPE_ENUM"] = 14; + values[valuesById[15] = "TYPE_SFIXED32"] = 15; + values[valuesById[16] = "TYPE_SFIXED64"] = 16; + values[valuesById[17] = "TYPE_SINT32"] = 17; + values[valuesById[18] = "TYPE_SINT64"] = 18; + return values; + })(); + + /** + * Label enum. + * @name google.protobuf.FieldDescriptorProto.Label + * @enum {number} + * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value + * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value + * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value + */ + FieldDescriptorProto.Label = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "LABEL_OPTIONAL"] = 1; + values[valuesById[2] = "LABEL_REQUIRED"] = 2; + values[valuesById[3] = "LABEL_REPEATED"] = 3; + return values; + })(); + + return FieldDescriptorProto; + })(); + + protobuf.OneofDescriptorProto = (function() { + + /** + * Properties of an OneofDescriptorProto. + * @memberof google.protobuf + * @interface IOneofDescriptorProto + * @property {string|null} [name] OneofDescriptorProto name + * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options + */ + + /** + * Constructs a new OneofDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an OneofDescriptorProto. + * @implements IOneofDescriptorProto + * @constructor + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + */ + function OneofDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.name = ""; + + /** + * OneofDescriptorProto options. + * @member {google.protobuf.IOneofOptions|null|undefined} options + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.options = null; + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance + */ + OneofDescriptorProto.create = function create(properties) { + return new OneofDescriptorProto(properties); + }; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofDescriptorProto message. + * @function verify + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.OneofOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + */ + OneofDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofDescriptorProto) + return object; + var message = new $root.google.protobuf.OneofDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.OneofDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + OneofDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OneofDescriptorProto; + })(); + + protobuf.EnumDescriptorProto = (function() { + + /** + * Properties of an EnumDescriptorProto. + * @memberof google.protobuf + * @interface IEnumDescriptorProto + * @property {string|null} [name] EnumDescriptorProto name + * @property {Array.|null} [value] EnumDescriptorProto value + * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options + * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange + * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + */ + + /** + * Constructs a new EnumDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumDescriptorProto. + * @implements IEnumDescriptorProto + * @constructor + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + */ + function EnumDescriptorProto(properties) { + this.value = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.name = ""; + + /** + * EnumDescriptorProto value. + * @member {Array.} value + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.value = $util.emptyArray; + + /** + * EnumDescriptorProto options. + * @member {google.protobuf.IEnumOptions|null|undefined} options + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.options = null; + + /** + * EnumDescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * EnumDescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance + */ + EnumDescriptorProto.create = function create(properties) { + return new EnumDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.value.length) + for (var i = 0; i < message.value.length; ++i) + $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.value && message.value.length)) + message.value = []; + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) { + if (!Array.isArray(message.value)) + return "value: array expected"; + for (var i = 0; i < message.value.length; ++i) { + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + if (error) + return "value." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + */ + EnumDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.value) { + if (!Array.isArray(object.value)) + throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected"); + message.value = []; + for (var i = 0; i < object.value.length; ++i) { + if (typeof object.value[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.value = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value && message.value.length) { + object.value = []; + for (var j = 0; j < message.value.length; ++j) + object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options); + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + EnumDescriptorProto.EnumReservedRange = (function() { + + /** + * Properties of an EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @interface IEnumReservedRange + * @property {number|null} [start] EnumReservedRange start + * @property {number|null} [end] EnumReservedRange end + */ + + /** + * Constructs a new EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @classdesc Represents an EnumReservedRange. + * @implements IEnumReservedRange + * @constructor + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + */ + function EnumReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumReservedRange start. + * @member {number} start + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.start = 0; + + /** + * EnumReservedRange end. + * @member {number} end + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.end = 0; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance + */ + EnumReservedRange.create = function create(properties) { + return new EnumReservedRange(properties); + }; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumReservedRange message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + */ + EnumReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this EnumReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + * @returns {Object.} JSON object + */ + EnumReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumReservedRange; + })(); + + return EnumDescriptorProto; + })(); + + protobuf.EnumValueDescriptorProto = (function() { + + /** + * Properties of an EnumValueDescriptorProto. + * @memberof google.protobuf + * @interface IEnumValueDescriptorProto + * @property {string|null} [name] EnumValueDescriptorProto name + * @property {number|null} [number] EnumValueDescriptorProto number + * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options + */ + + /** + * Constructs a new EnumValueDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumValueDescriptorProto. + * @implements IEnumValueDescriptorProto + * @constructor + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + */ + function EnumValueDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.name = ""; + + /** + * EnumValueDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.number = 0; + + /** + * EnumValueDescriptorProto options. + * @member {google.protobuf.IEnumValueOptions|null|undefined} options + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.options = null; + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance + */ + EnumValueDescriptorProto.create = function create(properties) { + return new EnumValueDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.number = reader.int32(); + break; + case 3: + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + */ + EnumValueDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumValueDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.number = 0; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumValueDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumValueDescriptorProto; + })(); + + protobuf.ServiceDescriptorProto = (function() { + + /** + * Properties of a ServiceDescriptorProto. + * @memberof google.protobuf + * @interface IServiceDescriptorProto + * @property {string|null} [name] ServiceDescriptorProto name + * @property {Array.|null} [method] ServiceDescriptorProto method + * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options + */ + + /** + * Constructs a new ServiceDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a ServiceDescriptorProto. + * @implements IServiceDescriptorProto + * @constructor + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + */ + function ServiceDescriptorProto(properties) { + this.method = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.name = ""; + + /** + * ServiceDescriptorProto method. + * @member {Array.} method + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.method = $util.emptyArray; + + /** + * ServiceDescriptorProto options. + * @member {google.protobuf.IServiceOptions|null|undefined} options + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.options = null; + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance + */ + ServiceDescriptorProto.create = function create(properties) { + return new ServiceDescriptorProto(properties); + }; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.method != null && message.method.length) + for (var i = 0; i < message.method.length; ++i) + $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.method && message.method.length)) + message.method = []; + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceDescriptorProto message. + * @function verify + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.method != null && message.hasOwnProperty("method")) { + if (!Array.isArray(message.method)) + return "method: array expected"; + for (var i = 0; i < message.method.length; ++i) { + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + if (error) + return "method." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ServiceOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + */ + ServiceDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceDescriptorProto) + return object; + var message = new $root.google.protobuf.ServiceDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.method) { + if (!Array.isArray(object.method)) + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected"); + message.method = []; + for (var i = 0; i < object.method.length; ++i) { + if (typeof object.method[i] !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.method = []; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.method && message.method.length) { + object.method = []; + for (var j = 0; j < message.method.length; ++j) + object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + ServiceDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ServiceDescriptorProto; + })(); + + protobuf.MethodDescriptorProto = (function() { + + /** + * Properties of a MethodDescriptorProto. + * @memberof google.protobuf + * @interface IMethodDescriptorProto + * @property {string|null} [name] MethodDescriptorProto name + * @property {string|null} [inputType] MethodDescriptorProto inputType + * @property {string|null} [outputType] MethodDescriptorProto outputType + * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options + * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming + * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming + */ + + /** + * Constructs a new MethodDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a MethodDescriptorProto. + * @implements IMethodDescriptorProto + * @constructor + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + */ + function MethodDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.name = ""; + + /** + * MethodDescriptorProto inputType. + * @member {string} inputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.inputType = ""; + + /** + * MethodDescriptorProto outputType. + * @member {string} outputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.outputType = ""; + + /** + * MethodDescriptorProto options. + * @member {google.protobuf.IMethodOptions|null|undefined} options + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.options = null; + + /** + * MethodDescriptorProto clientStreaming. + * @member {boolean} clientStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.clientStreaming = false; + + /** + * MethodDescriptorProto serverStreaming. + * @member {boolean} serverStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.serverStreaming = false; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance + */ + MethodDescriptorProto.create = function create(properties) { + return new MethodDescriptorProto(properties); + }; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); + if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); + if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); + return writer; + }; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.inputType = reader.string(); + break; + case 3: + message.outputType = reader.string(); + break; + case 4: + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + break; + case 5: + message.clientStreaming = reader.bool(); + break; + case 6: + message.serverStreaming = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodDescriptorProto message. + * @function verify + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.inputType != null && message.hasOwnProperty("inputType")) + if (!$util.isString(message.inputType)) + return "inputType: string expected"; + if (message.outputType != null && message.hasOwnProperty("outputType")) + if (!$util.isString(message.outputType)) + return "outputType: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MethodOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + if (typeof message.clientStreaming !== "boolean") + return "clientStreaming: boolean expected"; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + if (typeof message.serverStreaming !== "boolean") + return "serverStreaming: boolean expected"; + return null; + }; + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + */ + MethodDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodDescriptorProto) + return object; + var message = new $root.google.protobuf.MethodDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.inputType != null) + message.inputType = String(object.inputType); + if (object.outputType != null) + message.outputType = String(object.outputType); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + } + if (object.clientStreaming != null) + message.clientStreaming = Boolean(object.clientStreaming); + if (object.serverStreaming != null) + message.serverStreaming = Boolean(object.serverStreaming); + return message; + }; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.inputType = ""; + object.outputType = ""; + object.options = null; + object.clientStreaming = false; + object.serverStreaming = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.inputType != null && message.hasOwnProperty("inputType")) + object.inputType = message.inputType; + if (message.outputType != null && message.hasOwnProperty("outputType")) + object.outputType = message.outputType; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options); + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + object.clientStreaming = message.clientStreaming; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + object.serverStreaming = message.serverStreaming; + return object; + }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.MethodDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + MethodDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MethodDescriptorProto; + })(); + + protobuf.FileOptions = (function() { + + /** + * Properties of a FileOptions. + * @memberof google.protobuf + * @interface IFileOptions + * @property {string|null} [javaPackage] FileOptions javaPackage + * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname + * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles + * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash + * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8 + * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor + * @property {string|null} [goPackage] FileOptions goPackage + * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices + * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices + * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices + * @property {boolean|null} [phpGenericServices] FileOptions phpGenericServices + * @property {boolean|null} [deprecated] FileOptions deprecated + * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas + * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix + * @property {string|null} [csharpNamespace] FileOptions csharpNamespace + * @property {string|null} [swiftPrefix] FileOptions swiftPrefix + * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix + * @property {string|null} [phpNamespace] FileOptions phpNamespace + * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace + * @property {string|null} [rubyPackage] FileOptions rubyPackage + * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption + * @property {Array.|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition + */ + + /** + * Constructs a new FileOptions. + * @memberof google.protobuf + * @classdesc Represents a FileOptions. + * @implements IFileOptions + * @constructor + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + */ + function FileOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.resourceDefinition"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileOptions javaPackage. + * @member {string} javaPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaPackage = ""; + + /** + * FileOptions javaOuterClassname. + * @member {string} javaOuterClassname + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaOuterClassname = ""; + + /** + * FileOptions javaMultipleFiles. + * @member {boolean} javaMultipleFiles + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaMultipleFiles = false; + + /** + * FileOptions javaGenerateEqualsAndHash. + * @member {boolean} javaGenerateEqualsAndHash + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenerateEqualsAndHash = false; + + /** + * FileOptions javaStringCheckUtf8. + * @member {boolean} javaStringCheckUtf8 + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaStringCheckUtf8 = false; + + /** + * FileOptions optimizeFor. + * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.optimizeFor = 1; + + /** + * FileOptions goPackage. + * @member {string} goPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.goPackage = ""; + + /** + * FileOptions ccGenericServices. + * @member {boolean} ccGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccGenericServices = false; + + /** + * FileOptions javaGenericServices. + * @member {boolean} javaGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenericServices = false; + + /** + * FileOptions pyGenericServices. + * @member {boolean} pyGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.pyGenericServices = false; + + /** + * FileOptions phpGenericServices. + * @member {boolean} phpGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpGenericServices = false; + + /** + * FileOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.deprecated = false; + + /** + * FileOptions ccEnableArenas. + * @member {boolean} ccEnableArenas + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccEnableArenas = true; + + /** + * FileOptions objcClassPrefix. + * @member {string} objcClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.objcClassPrefix = ""; + + /** + * FileOptions csharpNamespace. + * @member {string} csharpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.csharpNamespace = ""; + + /** + * FileOptions swiftPrefix. + * @member {string} swiftPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.swiftPrefix = ""; + + /** + * FileOptions phpClassPrefix. + * @member {string} phpClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpClassPrefix = ""; + + /** + * FileOptions phpNamespace. + * @member {string} phpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpNamespace = ""; + + /** + * FileOptions phpMetadataNamespace. + * @member {string} phpMetadataNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpMetadataNamespace = ""; + + /** + * FileOptions rubyPackage. + * @member {string} rubyPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.rubyPackage = ""; + + /** + * FileOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FileOptions .google.api.resourceDefinition. + * @member {Array.} .google.api.resourceDefinition + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".google.api.resourceDefinition"] = $util.emptyArray; + + /** + * Creates a new FileOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + * @returns {google.protobuf.FileOptions} FileOptions instance + */ + FileOptions.create = function create(properties) { + return new FileOptions(properties); + }; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); + if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); + if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); + if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); + if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); + if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); + if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); + if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) + writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); + if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); + if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) + writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); + if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) + writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); + if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) + writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); + if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) + writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); + if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) + writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); + if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) + writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); + if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) + writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); + if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices")) + writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); + if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) + writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); + if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) + writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resourceDefinition"] != null && message[".google.api.resourceDefinition"].length) + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resourceDefinition"][i], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.javaPackage = reader.string(); + break; + case 8: + message.javaOuterClassname = reader.string(); + break; + case 10: + message.javaMultipleFiles = reader.bool(); + break; + case 20: + message.javaGenerateEqualsAndHash = reader.bool(); + break; + case 27: + message.javaStringCheckUtf8 = reader.bool(); + break; + case 9: + message.optimizeFor = reader.int32(); + break; + case 11: + message.goPackage = reader.string(); + break; + case 16: + message.ccGenericServices = reader.bool(); + break; + case 17: + message.javaGenericServices = reader.bool(); + break; + case 18: + message.pyGenericServices = reader.bool(); + break; + case 42: + message.phpGenericServices = reader.bool(); + break; + case 23: + message.deprecated = reader.bool(); + break; + case 31: + message.ccEnableArenas = reader.bool(); + break; + case 36: + message.objcClassPrefix = reader.string(); + break; + case 37: + message.csharpNamespace = reader.string(); + break; + case 39: + message.swiftPrefix = reader.string(); + break; + case 40: + message.phpClassPrefix = reader.string(); + break; + case 41: + message.phpNamespace = reader.string(); + break; + case 44: + message.phpMetadataNamespace = reader.string(); + break; + case 45: + message.rubyPackage = reader.string(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 1053: + if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) + message[".google.api.resourceDefinition"] = []; + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileOptions message. + * @function verify + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (!$util.isString(message.javaPackage)) + return "javaPackage: string expected"; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (!$util.isString(message.javaOuterClassname)) + return "javaOuterClassname: string expected"; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (typeof message.javaMultipleFiles !== "boolean") + return "javaMultipleFiles: boolean expected"; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (typeof message.javaGenerateEqualsAndHash !== "boolean") + return "javaGenerateEqualsAndHash: boolean expected"; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (typeof message.javaStringCheckUtf8 !== "boolean") + return "javaStringCheckUtf8: boolean expected"; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + switch (message.optimizeFor) { + default: + return "optimizeFor: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (!$util.isString(message.goPackage)) + return "goPackage: string expected"; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (typeof message.ccGenericServices !== "boolean") + return "ccGenericServices: boolean expected"; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (typeof message.javaGenericServices !== "boolean") + return "javaGenericServices: boolean expected"; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (typeof message.pyGenericServices !== "boolean") + return "pyGenericServices: boolean expected"; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + if (typeof message.phpGenericServices !== "boolean") + return "phpGenericServices: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (typeof message.ccEnableArenas !== "boolean") + return "ccEnableArenas: boolean expected"; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (!$util.isString(message.objcClassPrefix)) + return "objcClassPrefix: string expected"; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (!$util.isString(message.csharpNamespace)) + return "csharpNamespace: string expected"; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (!$util.isString(message.swiftPrefix)) + return "swiftPrefix: string expected"; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (!$util.isString(message.phpClassPrefix)) + return "phpClassPrefix: string expected"; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (!$util.isString(message.phpNamespace)) + return "phpNamespace: string expected"; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + if (!$util.isString(message.phpMetadataNamespace)) + return "phpMetadataNamespace: string expected"; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + if (!$util.isString(message.rubyPackage)) + return "rubyPackage: string expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.resourceDefinition"] != null && message.hasOwnProperty(".google.api.resourceDefinition")) { + if (!Array.isArray(message[".google.api.resourceDefinition"])) + return ".google.api.resourceDefinition: array expected"; + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + if (error) + return ".google.api.resourceDefinition." + error; + } + } + return null; + }; + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileOptions} FileOptions + */ + FileOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileOptions) + return object; + var message = new $root.google.protobuf.FileOptions(); + if (object.javaPackage != null) + message.javaPackage = String(object.javaPackage); + if (object.javaOuterClassname != null) + message.javaOuterClassname = String(object.javaOuterClassname); + if (object.javaMultipleFiles != null) + message.javaMultipleFiles = Boolean(object.javaMultipleFiles); + if (object.javaGenerateEqualsAndHash != null) + message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); + if (object.javaStringCheckUtf8 != null) + message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); + switch (object.optimizeFor) { + case "SPEED": + case 1: + message.optimizeFor = 1; + break; + case "CODE_SIZE": + case 2: + message.optimizeFor = 2; + break; + case "LITE_RUNTIME": + case 3: + message.optimizeFor = 3; + break; + } + if (object.goPackage != null) + message.goPackage = String(object.goPackage); + if (object.ccGenericServices != null) + message.ccGenericServices = Boolean(object.ccGenericServices); + if (object.javaGenericServices != null) + message.javaGenericServices = Boolean(object.javaGenericServices); + if (object.pyGenericServices != null) + message.pyGenericServices = Boolean(object.pyGenericServices); + if (object.phpGenericServices != null) + message.phpGenericServices = Boolean(object.phpGenericServices); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.ccEnableArenas != null) + message.ccEnableArenas = Boolean(object.ccEnableArenas); + if (object.objcClassPrefix != null) + message.objcClassPrefix = String(object.objcClassPrefix); + if (object.csharpNamespace != null) + message.csharpNamespace = String(object.csharpNamespace); + if (object.swiftPrefix != null) + message.swiftPrefix = String(object.swiftPrefix); + if (object.phpClassPrefix != null) + message.phpClassPrefix = String(object.phpClassPrefix); + if (object.phpNamespace != null) + message.phpNamespace = String(object.phpNamespace); + if (object.phpMetadataNamespace != null) + message.phpMetadataNamespace = String(object.phpMetadataNamespace); + if (object.rubyPackage != null) + message.rubyPackage = String(object.rubyPackage); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.resourceDefinition"]) { + if (!Array.isArray(object[".google.api.resourceDefinition"])) + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected"); + message[".google.api.resourceDefinition"] = []; + for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { + if (typeof object[".google.api.resourceDefinition"][i] !== "object") + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.FileOptions} message FileOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.resourceDefinition"] = []; + } + if (options.defaults) { + object.javaPackage = ""; + object.javaOuterClassname = ""; + object.optimizeFor = options.enums === String ? "SPEED" : 1; + object.javaMultipleFiles = false; + object.goPackage = ""; + object.ccGenericServices = false; + object.javaGenericServices = false; + object.pyGenericServices = false; + object.javaGenerateEqualsAndHash = false; + object.deprecated = false; + object.javaStringCheckUtf8 = false; + object.ccEnableArenas = true; + object.objcClassPrefix = ""; + object.csharpNamespace = ""; + object.swiftPrefix = ""; + object.phpClassPrefix = ""; + object.phpNamespace = ""; + object.phpGenericServices = false; + object.phpMetadataNamespace = ""; + object.rubyPackage = ""; + } + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + object.javaPackage = message.javaPackage; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + object.javaOuterClassname = message.javaOuterClassname; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + object.javaMultipleFiles = message.javaMultipleFiles; + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + object.goPackage = message.goPackage; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + object.ccGenericServices = message.ccGenericServices; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + object.javaGenericServices = message.javaGenericServices; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + object.pyGenericServices = message.pyGenericServices; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + object.javaStringCheckUtf8 = message.javaStringCheckUtf8; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + object.ccEnableArenas = message.ccEnableArenas; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + object.objcClassPrefix = message.objcClassPrefix; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + object.csharpNamespace = message.csharpNamespace; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + object.swiftPrefix = message.swiftPrefix; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + object.phpClassPrefix = message.phpClassPrefix; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + object.phpNamespace = message.phpNamespace; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + object.phpGenericServices = message.phpGenericServices; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + object.phpMetadataNamespace = message.phpMetadataNamespace; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + object.rubyPackage = message.rubyPackage; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length) { + object[".google.api.resourceDefinition"] = []; + for (var j = 0; j < message[".google.api.resourceDefinition"].length; ++j) + object[".google.api.resourceDefinition"][j] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resourceDefinition"][j], options); + } + return object; + }; + + /** + * Converts this FileOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FileOptions + * @instance + * @returns {Object.} JSON object + */ + FileOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * OptimizeMode enum. + * @name google.protobuf.FileOptions.OptimizeMode + * @enum {number} + * @property {number} SPEED=1 SPEED value + * @property {number} CODE_SIZE=2 CODE_SIZE value + * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value + */ + FileOptions.OptimizeMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "SPEED"] = 1; + values[valuesById[2] = "CODE_SIZE"] = 2; + values[valuesById[3] = "LITE_RUNTIME"] = 3; + return values; + })(); + + return FileOptions; + })(); + + protobuf.MessageOptions = (function() { + + /** + * Properties of a MessageOptions. + * @memberof google.protobuf + * @interface IMessageOptions + * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat + * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor + * @property {boolean|null} [deprecated] MessageOptions deprecated + * @property {boolean|null} [mapEntry] MessageOptions mapEntry + * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption + * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource + */ + + /** + * Constructs a new MessageOptions. + * @memberof google.protobuf + * @classdesc Represents a MessageOptions. + * @implements IMessageOptions + * @constructor + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + */ + function MessageOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageOptions messageSetWireFormat. + * @member {boolean} messageSetWireFormat + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.messageSetWireFormat = false; + + /** + * MessageOptions noStandardDescriptorAccessor. + * @member {boolean} noStandardDescriptorAccessor + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.noStandardDescriptorAccessor = false; + + /** + * MessageOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.deprecated = false; + + /** + * MessageOptions mapEntry. + * @member {boolean} mapEntry + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.mapEntry = false; + + /** + * MessageOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MessageOptions .google.api.resource. + * @member {google.api.IResourceDescriptor|null|undefined} .google.api.resource + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".google.api.resource"] = null; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + * @returns {google.protobuf.MessageOptions} MessageOptions instance + */ + MessageOptions.create = function create(properties) { + return new MessageOptions(properties); + }; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); + if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource")) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messageSetWireFormat = reader.bool(); + break; + case 2: + message.noStandardDescriptorAccessor = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 7: + message.mapEntry = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 1053: + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageOptions message. + * @function verify + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (typeof message.messageSetWireFormat !== "boolean") + return "messageSetWireFormat: boolean expected"; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (typeof message.noStandardDescriptorAccessor !== "boolean") + return "noStandardDescriptorAccessor: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (typeof message.mapEntry !== "boolean") + return "mapEntry: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + if (error) + return ".google.api.resource." + error; + } + return null; + }; + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MessageOptions} MessageOptions + */ + MessageOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MessageOptions) + return object; + var message = new $root.google.protobuf.MessageOptions(); + if (object.messageSetWireFormat != null) + message.messageSetWireFormat = Boolean(object.messageSetWireFormat); + if (object.noStandardDescriptorAccessor != null) + message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.mapEntry != null) + message.mapEntry = Boolean(object.mapEntry); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.resource"] != null) { + if (typeof object[".google.api.resource"] !== "object") + throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + } + return message; + }; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.MessageOptions} message MessageOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.messageSetWireFormat = false; + object.noStandardDescriptorAccessor = false; + object.deprecated = false; + object.mapEntry = false; + object[".google.api.resource"] = null; + } + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + object.messageSetWireFormat = message.messageSetWireFormat; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + object.mapEntry = message.mapEntry; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) + object[".google.api.resource"] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resource"], options); + return object; + }; + + /** + * Converts this MessageOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MessageOptions + * @instance + * @returns {Object.} JSON object + */ + MessageOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MessageOptions; + })(); + + protobuf.FieldOptions = (function() { + + /** + * Properties of a FieldOptions. + * @memberof google.protobuf + * @interface IFieldOptions + * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype + * @property {boolean|null} [packed] FieldOptions packed + * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype + * @property {boolean|null} [lazy] FieldOptions lazy + * @property {boolean|null} [deprecated] FieldOptions deprecated + * @property {boolean|null} [weak] FieldOptions weak + * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption + * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior + * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference + */ + + /** + * Constructs a new FieldOptions. + * @memberof google.protobuf + * @classdesc Represents a FieldOptions. + * @implements IFieldOptions + * @constructor + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + */ + function FieldOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.fieldBehavior"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldOptions ctype. + * @member {google.protobuf.FieldOptions.CType} ctype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.ctype = 0; + + /** + * FieldOptions packed. + * @member {boolean} packed + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.packed = false; + + /** + * FieldOptions jstype. + * @member {google.protobuf.FieldOptions.JSType} jstype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.jstype = 0; + + /** + * FieldOptions lazy. + * @member {boolean} lazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.lazy = false; + + /** + * FieldOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.deprecated = false; + + /** + * FieldOptions weak. + * @member {boolean} weak + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.weak = false; + + /** + * FieldOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FieldOptions .google.api.fieldBehavior. + * @member {Array.} .google.api.fieldBehavior + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.fieldBehavior"] = $util.emptyArray; + + /** + * FieldOptions .google.api.resourceReference. + * @member {google.api.IResourceReference|null|undefined} .google.api.resourceReference + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.resourceReference"] = null; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions} FieldOptions instance + */ + FieldOptions.create = function create(properties) { + return new FieldOptions(properties); + }; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); + if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); + if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.fieldBehavior"] != null && message[".google.api.fieldBehavior"].length) { + writer.uint32(/* id 1052, wireType 2 =*/8418).fork(); + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + writer.int32(message[".google.api.fieldBehavior"][i]); + writer.ldelim(); + } + if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference")) + $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ctype = reader.int32(); + break; + case 2: + message.packed = reader.bool(); + break; + case 6: + message.jstype = reader.int32(); + break; + case 5: + message.lazy = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 10: + message.weak = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 1052: + if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) + message[".google.api.fieldBehavior"] = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message[".google.api.fieldBehavior"].push(reader.int32()); + } else + message[".google.api.fieldBehavior"].push(reader.int32()); + break; + case 1055: + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldOptions message. + * @function verify + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ctype != null && message.hasOwnProperty("ctype")) + switch (message.ctype) { + default: + return "ctype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.packed != null && message.hasOwnProperty("packed")) + if (typeof message.packed !== "boolean") + return "packed: boolean expected"; + if (message.jstype != null && message.hasOwnProperty("jstype")) + switch (message.jstype) { + default: + return "jstype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.lazy != null && message.hasOwnProperty("lazy")) + if (typeof message.lazy !== "boolean") + return "lazy: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.weak != null && message.hasOwnProperty("weak")) + if (typeof message.weak !== "boolean") + return "weak: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.fieldBehavior"] != null && message.hasOwnProperty(".google.api.fieldBehavior")) { + if (!Array.isArray(message[".google.api.fieldBehavior"])) + return ".google.api.fieldBehavior: array expected"; + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + switch (message[".google.api.fieldBehavior"][i]) { + default: + return ".google.api.fieldBehavior: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + break; + } + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + if (error) + return ".google.api.resourceReference." + error; + } + return null; + }; + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions} FieldOptions + */ + FieldOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldOptions) + return object; + var message = new $root.google.protobuf.FieldOptions(); + switch (object.ctype) { + case "STRING": + case 0: + message.ctype = 0; + break; + case "CORD": + case 1: + message.ctype = 1; + break; + case "STRING_PIECE": + case 2: + message.ctype = 2; + break; + } + if (object.packed != null) + message.packed = Boolean(object.packed); + switch (object.jstype) { + case "JS_NORMAL": + case 0: + message.jstype = 0; + break; + case "JS_STRING": + case 1: + message.jstype = 1; + break; + case "JS_NUMBER": + case 2: + message.jstype = 2; + break; + } + if (object.lazy != null) + message.lazy = Boolean(object.lazy); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.weak != null) + message.weak = Boolean(object.weak); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.fieldBehavior"]) { + if (!Array.isArray(object[".google.api.fieldBehavior"])) + throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected"); + message[".google.api.fieldBehavior"] = []; + for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i) + switch (object[".google.api.fieldBehavior"][i]) { + default: + case "FIELD_BEHAVIOR_UNSPECIFIED": + case 0: + message[".google.api.fieldBehavior"][i] = 0; + break; + case "OPTIONAL": + case 1: + message[".google.api.fieldBehavior"][i] = 1; + break; + case "REQUIRED": + case 2: + message[".google.api.fieldBehavior"][i] = 2; + break; + case "OUTPUT_ONLY": + case 3: + message[".google.api.fieldBehavior"][i] = 3; + break; + case "INPUT_ONLY": + case 4: + message[".google.api.fieldBehavior"][i] = 4; + break; + case "IMMUTABLE": + case 5: + message[".google.api.fieldBehavior"][i] = 5; + break; + case "UNORDERED_LIST": + case 6: + message[".google.api.fieldBehavior"][i] = 6; + break; + } + } + if (object[".google.api.resourceReference"] != null) { + if (typeof object[".google.api.resourceReference"] !== "object") + throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + } + return message; + }; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.FieldOptions} message FieldOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.fieldBehavior"] = []; + } + if (options.defaults) { + object.ctype = options.enums === String ? "STRING" : 0; + object.packed = false; + object.deprecated = false; + object.lazy = false; + object.jstype = options.enums === String ? "JS_NORMAL" : 0; + object.weak = false; + object[".google.api.resourceReference"] = null; + } + if (message.ctype != null && message.hasOwnProperty("ctype")) + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; + if (message.packed != null && message.hasOwnProperty("packed")) + object.packed = message.packed; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.lazy != null && message.hasOwnProperty("lazy")) + object.lazy = message.lazy; + if (message.jstype != null && message.hasOwnProperty("jstype")) + object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; + if (message.weak != null && message.hasOwnProperty("weak")) + object.weak = message.weak; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) { + object[".google.api.fieldBehavior"] = []; + for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j) + object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) + object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options); + return object; + }; + + /** + * Converts this FieldOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions + * @instance + * @returns {Object.} JSON object + */ + FieldOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * CType enum. + * @name google.protobuf.FieldOptions.CType + * @enum {number} + * @property {number} STRING=0 STRING value + * @property {number} CORD=1 CORD value + * @property {number} STRING_PIECE=2 STRING_PIECE value + */ + FieldOptions.CType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STRING"] = 0; + values[valuesById[1] = "CORD"] = 1; + values[valuesById[2] = "STRING_PIECE"] = 2; + return values; + })(); + + /** + * JSType enum. + * @name google.protobuf.FieldOptions.JSType + * @enum {number} + * @property {number} JS_NORMAL=0 JS_NORMAL value + * @property {number} JS_STRING=1 JS_STRING value + * @property {number} JS_NUMBER=2 JS_NUMBER value + */ + FieldOptions.JSType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "JS_NORMAL"] = 0; + values[valuesById[1] = "JS_STRING"] = 1; + values[valuesById[2] = "JS_NUMBER"] = 2; + return values; + })(); + + return FieldOptions; + })(); + + protobuf.OneofOptions = (function() { + + /** + * Properties of an OneofOptions. + * @memberof google.protobuf + * @interface IOneofOptions + * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption + */ + + /** + * Constructs a new OneofOptions. + * @memberof google.protobuf + * @classdesc Represents an OneofOptions. + * @implements IOneofOptions + * @constructor + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + */ + function OneofOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.OneofOptions + * @instance + */ + OneofOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + * @returns {google.protobuf.OneofOptions} OneofOptions instance + */ + OneofOptions.create = function create(properties) { + return new OneofOptions(properties); + }; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofOptions message. + * @function verify + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofOptions} OneofOptions + */ + OneofOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofOptions) + return object; + var message = new $root.google.protobuf.OneofOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.OneofOptions} message OneofOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this OneofOptions to JSON. + * @function toJSON + * @memberof google.protobuf.OneofOptions + * @instance + * @returns {Object.} JSON object + */ + OneofOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OneofOptions; + })(); + + protobuf.EnumOptions = (function() { + + /** + * Properties of an EnumOptions. + * @memberof google.protobuf + * @interface IEnumOptions + * @property {boolean|null} [allowAlias] EnumOptions allowAlias + * @property {boolean|null} [deprecated] EnumOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption + */ + + /** + * Constructs a new EnumOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumOptions. + * @implements IEnumOptions + * @constructor + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + */ + function EnumOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumOptions allowAlias. + * @member {boolean} allowAlias + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.allowAlias = false; + + /** + * EnumOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.deprecated = false; + + /** + * EnumOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumOptions} EnumOptions instance + */ + EnumOptions.create = function create(properties) { + return new EnumOptions(properties); + }; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.allowAlias = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumOptions message. + * @function verify + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + if (typeof message.allowAlias !== "boolean") + return "allowAlias: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumOptions} EnumOptions + */ + EnumOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumOptions) + return object; + var message = new $root.google.protobuf.EnumOptions(); + if (object.allowAlias != null) + message.allowAlias = Boolean(object.allowAlias); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.EnumOptions} message EnumOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.allowAlias = false; + object.deprecated = false; + } + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + object.allowAlias = message.allowAlias; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumOptions + * @instance + * @returns {Object.} JSON object + */ + EnumOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumOptions; + })(); + + protobuf.EnumValueOptions = (function() { + + /** + * Properties of an EnumValueOptions. + * @memberof google.protobuf + * @interface IEnumValueOptions + * @property {boolean|null} [deprecated] EnumValueOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption + */ + + /** + * Constructs a new EnumValueOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumValueOptions. + * @implements IEnumValueOptions + * @constructor + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + */ + function EnumValueOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.deprecated = false; + + /** + * EnumValueOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance + */ + EnumValueOptions.create = function create(properties) { + return new EnumValueOptions(properties); + }; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueOptions message. + * @function verify + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + */ + EnumValueOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueOptions) + return object; + var message = new $root.google.protobuf.EnumValueOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.EnumValueOptions} message EnumValueOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) + object.deprecated = false; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumValueOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueOptions + * @instance + * @returns {Object.} JSON object + */ + EnumValueOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumValueOptions; + })(); + + protobuf.ServiceOptions = (function() { + + /** + * Properties of a ServiceOptions. + * @memberof google.protobuf + * @interface IServiceOptions + * @property {boolean|null} [deprecated] ServiceOptions deprecated + * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption + * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost + * @property {string|null} [".google.api.oauthScopes"] ServiceOptions .google.api.oauthScopes + */ + + /** + * Constructs a new ServiceOptions. + * @memberof google.protobuf + * @classdesc Represents a ServiceOptions. + * @implements IServiceOptions + * @constructor + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + */ + function ServiceOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.deprecated = false; + + /** + * ServiceOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * ServiceOptions .google.api.defaultHost. + * @member {string} .google.api.defaultHost + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.defaultHost"] = ""; + + /** + * ServiceOptions .google.api.oauthScopes. + * @member {string} .google.api.oauthScopes + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.oauthScopes"] = ""; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + * @returns {google.protobuf.ServiceOptions} ServiceOptions instance + */ + ServiceOptions.create = function create(properties) { + return new ServiceOptions(properties); + }; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost")) + writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); + if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes")) + writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); + return writer; + }; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 1049: + message[".google.api.defaultHost"] = reader.string(); + break; + case 1050: + message[".google.api.oauthScopes"] = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceOptions message. + * @function verify + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + if (!$util.isString(message[".google.api.defaultHost"])) + return ".google.api.defaultHost: string expected"; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + if (!$util.isString(message[".google.api.oauthScopes"])) + return ".google.api.oauthScopes: string expected"; + return null; + }; + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceOptions} ServiceOptions + */ + ServiceOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceOptions) + return object; + var message = new $root.google.protobuf.ServiceOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.defaultHost"] != null) + message[".google.api.defaultHost"] = String(object[".google.api.defaultHost"]); + if (object[".google.api.oauthScopes"] != null) + message[".google.api.oauthScopes"] = String(object[".google.api.oauthScopes"]); + return message; + }; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.ServiceOptions} message ServiceOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.deprecated = false; + object[".google.api.defaultHost"] = ""; + object[".google.api.oauthScopes"] = ""; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + object[".google.api.defaultHost"] = message[".google.api.defaultHost"]; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + object[".google.api.oauthScopes"] = message[".google.api.oauthScopes"]; + return object; + }; + + /** + * Converts this ServiceOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceOptions + * @instance + * @returns {Object.} JSON object + */ + ServiceOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ServiceOptions; + })(); + + protobuf.MethodOptions = (function() { + + /** + * Properties of a MethodOptions. + * @memberof google.protobuf + * @interface IMethodOptions + * @property {boolean|null} [deprecated] MethodOptions deprecated + * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel + * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption + * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http + * @property {Array.|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature + * @property {google.longrunning.IOperationInfo|null} [".google.longrunning.operationInfo"] MethodOptions .google.longrunning.operationInfo + */ + + /** + * Constructs a new MethodOptions. + * @memberof google.protobuf + * @classdesc Represents a MethodOptions. + * @implements IMethodOptions + * @constructor + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + */ + function MethodOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.methodSignature"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.deprecated = false; + + /** + * MethodOptions idempotencyLevel. + * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.idempotencyLevel = 0; + + /** + * MethodOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MethodOptions .google.api.http. + * @member {google.api.IHttpRule|null|undefined} .google.api.http + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.http"] = null; + + /** + * MethodOptions .google.api.methodSignature. + * @member {Array.} .google.api.methodSignature + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.methodSignature"] = $util.emptyArray; + + /** + * MethodOptions .google.longrunning.operationInfo. + * @member {google.longrunning.IOperationInfo|null|undefined} .google.longrunning.operationInfo + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.longrunning.operationInfo"] = null; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + * @returns {google.protobuf.MethodOptions} MethodOptions instance + */ + MethodOptions.create = function create(properties) { + return new MethodOptions(properties); + }; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) + writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.longrunning.operationInfo"] != null && Object.hasOwnProperty.call(message, ".google.longrunning.operationInfo")) + $root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(/* id 1049, wireType 2 =*/8394).fork()).ldelim(); + if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); + if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http")) + $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: + message.deprecated = reader.bool(); + break; + case 34: + message.idempotencyLevel = reader.int32(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 72295728: + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + break; + case 1051: + if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) + message[".google.api.methodSignature"] = []; + message[".google.api.methodSignature"].push(reader.string()); + break; + case 1049: + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodOptions message. + * @function verify + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + switch (message.idempotencyLevel) { + default: + return "idempotencyLevel: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { + var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + if (error) + return ".google.api.http." + error; + } + if (message[".google.api.methodSignature"] != null && message.hasOwnProperty(".google.api.methodSignature")) { + if (!Array.isArray(message[".google.api.methodSignature"])) + return ".google.api.methodSignature: array expected"; + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + if (!$util.isString(message[".google.api.methodSignature"][i])) + return ".google.api.methodSignature: string[] expected"; + } + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) { + var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]); + if (error) + return ".google.longrunning.operationInfo." + error; + } + return null; + }; + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodOptions} MethodOptions + */ + MethodOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodOptions) + return object; + var message = new $root.google.protobuf.MethodOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + switch (object.idempotencyLevel) { + case "IDEMPOTENCY_UNKNOWN": + case 0: + message.idempotencyLevel = 0; + break; + case "NO_SIDE_EFFECTS": + case 1: + message.idempotencyLevel = 1; + break; + case "IDEMPOTENT": + case 2: + message.idempotencyLevel = 2; + break; + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.http"] != null) { + if (typeof object[".google.api.http"] !== "object") + throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + } + if (object[".google.api.methodSignature"]) { + if (!Array.isArray(object[".google.api.methodSignature"])) + throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected"); + message[".google.api.methodSignature"] = []; + for (var i = 0; i < object[".google.api.methodSignature"].length; ++i) + message[".google.api.methodSignature"][i] = String(object[".google.api.methodSignature"][i]); + } + if (object[".google.longrunning.operationInfo"] != null) { + if (typeof object[".google.longrunning.operationInfo"] !== "object") + throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected"); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"]); + } + return message; + }; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.MethodOptions} message MethodOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.methodSignature"] = []; + } + if (options.defaults) { + object.deprecated = false; + object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0; + object[".google.longrunning.operationInfo"] = null; + object[".google.api.http"] = null; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) + object[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.toObject(message[".google.longrunning.operationInfo"], options); + if (message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length) { + object[".google.api.methodSignature"] = []; + for (var j = 0; j < message[".google.api.methodSignature"].length; ++j) + object[".google.api.methodSignature"][j] = message[".google.api.methodSignature"][j]; + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) + object[".google.api.http"] = $root.google.api.HttpRule.toObject(message[".google.api.http"], options); + return object; + }; + + /** + * Converts this MethodOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MethodOptions + * @instance + * @returns {Object.} JSON object + */ + MethodOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * IdempotencyLevel enum. + * @name google.protobuf.MethodOptions.IdempotencyLevel + * @enum {number} + * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value + * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value + * @property {number} IDEMPOTENT=2 IDEMPOTENT value + */ + MethodOptions.IdempotencyLevel = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0; + values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1; + values[valuesById[2] = "IDEMPOTENT"] = 2; + return values; + })(); + + return MethodOptions; + })(); + + protobuf.UninterpretedOption = (function() { + + /** + * Properties of an UninterpretedOption. + * @memberof google.protobuf + * @interface IUninterpretedOption + * @property {Array.|null} [name] UninterpretedOption name + * @property {string|null} [identifierValue] UninterpretedOption identifierValue + * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue + * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue + * @property {number|null} [doubleValue] UninterpretedOption doubleValue + * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue + * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue + */ + + /** + * Constructs a new UninterpretedOption. + * @memberof google.protobuf + * @classdesc Represents an UninterpretedOption. + * @implements IUninterpretedOption + * @constructor + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + */ + function UninterpretedOption(properties) { + this.name = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UninterpretedOption name. + * @member {Array.} name + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.name = $util.emptyArray; + + /** + * UninterpretedOption identifierValue. + * @member {string} identifierValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.identifierValue = ""; + + /** + * UninterpretedOption positiveIntValue. + * @member {number|Long} positiveIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * UninterpretedOption negativeIntValue. + * @member {number|Long} negativeIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * UninterpretedOption doubleValue. + * @member {number} doubleValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.doubleValue = 0; + + /** + * UninterpretedOption stringValue. + * @member {Uint8Array} stringValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.stringValue = $util.newBuffer([]); + + /** + * UninterpretedOption aggregateValue. + * @member {string} aggregateValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.aggregateValue = ""; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance + */ + UninterpretedOption.create = function create(properties) { + return new UninterpretedOption(properties); + }; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.name.length) + for (var i = 0; i < message.name.length; ++i) + $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); + if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); + if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); + if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) + writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); + if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); + if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); + return writer; + }; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (!(message.name && message.name.length)) + message.name = []; + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + break; + case 3: + message.identifierValue = reader.string(); + break; + case 4: + message.positiveIntValue = reader.uint64(); + break; + case 5: + message.negativeIntValue = reader.int64(); + break; + case 6: + message.doubleValue = reader.double(); + break; + case 7: + message.stringValue = reader.bytes(); + break; + case 8: + message.aggregateValue = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UninterpretedOption message. + * @function verify + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UninterpretedOption.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) { + if (!Array.isArray(message.name)) + return "name: array expected"; + for (var i = 0; i < message.name.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + if (error) + return "name." + error; + } + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + if (!$util.isString(message.identifierValue)) + return "identifierValue: string expected"; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high))) + return "positiveIntValue: integer|Long expected"; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high))) + return "negativeIntValue: integer|Long expected"; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + if (typeof message.doubleValue !== "number") + return "doubleValue: number expected"; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue))) + return "stringValue: buffer expected"; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + if (!$util.isString(message.aggregateValue)) + return "aggregateValue: string expected"; + return null; + }; + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + */ + UninterpretedOption.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption) + return object; + var message = new $root.google.protobuf.UninterpretedOption(); + if (object.name) { + if (!Array.isArray(object.name)) + throw TypeError(".google.protobuf.UninterpretedOption.name: array expected"); + message.name = []; + for (var i = 0; i < object.name.length; ++i) { + if (typeof object.name[i] !== "object") + throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + } + } + if (object.identifierValue != null) + message.identifierValue = String(object.identifierValue); + if (object.positiveIntValue != null) + if ($util.Long) + (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true; + else if (typeof object.positiveIntValue === "string") + message.positiveIntValue = parseInt(object.positiveIntValue, 10); + else if (typeof object.positiveIntValue === "number") + message.positiveIntValue = object.positiveIntValue; + else if (typeof object.positiveIntValue === "object") + message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true); + if (object.negativeIntValue != null) + if ($util.Long) + (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false; + else if (typeof object.negativeIntValue === "string") + message.negativeIntValue = parseInt(object.negativeIntValue, 10); + else if (typeof object.negativeIntValue === "number") + message.negativeIntValue = object.negativeIntValue; + else if (typeof object.negativeIntValue === "object") + message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber(); + if (object.doubleValue != null) + message.doubleValue = Number(object.doubleValue); + if (object.stringValue != null) + if (typeof object.stringValue === "string") + $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); + else if (object.stringValue.length) + message.stringValue = object.stringValue; + if (object.aggregateValue != null) + message.aggregateValue = String(object.aggregateValue); + return message; + }; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.UninterpretedOption} message UninterpretedOption + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UninterpretedOption.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.name = []; + if (options.defaults) { + object.identifierValue = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.positiveIntValue = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.negativeIntValue = options.longs === String ? "0" : 0; + object.doubleValue = 0; + if (options.bytes === String) + object.stringValue = ""; + else { + object.stringValue = []; + if (options.bytes !== Array) + object.stringValue = $util.newBuffer(object.stringValue); + } + object.aggregateValue = ""; + } + if (message.name && message.name.length) { + object.name = []; + for (var j = 0; j < message.name.length; ++j) + object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options); + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + object.identifierValue = message.identifierValue; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (typeof message.positiveIntValue === "number") + object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue; + else + object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (typeof message.negativeIntValue === "number") + object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue; + else + object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + object.aggregateValue = message.aggregateValue; + return object; + }; + + /** + * Converts this UninterpretedOption to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption + * @instance + * @returns {Object.} JSON object + */ + UninterpretedOption.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + UninterpretedOption.NamePart = (function() { + + /** + * Properties of a NamePart. + * @memberof google.protobuf.UninterpretedOption + * @interface INamePart + * @property {string} namePart NamePart namePart + * @property {boolean} isExtension NamePart isExtension + */ + + /** + * Constructs a new NamePart. + * @memberof google.protobuf.UninterpretedOption + * @classdesc Represents a NamePart. + * @implements INamePart + * @constructor + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + */ + function NamePart(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NamePart namePart. + * @member {string} namePart + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.namePart = ""; + + /** + * NamePart isExtension. + * @member {boolean} isExtension + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.isExtension = false; + + /** + * Creates a new NamePart instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance + */ + NamePart.create = function create(properties) { + return new NamePart(properties); + }; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension); + return writer; + }; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.namePart = reader.string(); + break; + case 2: + message.isExtension = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + if (!message.hasOwnProperty("namePart")) + throw $util.ProtocolError("missing required 'namePart'", { instance: message }); + if (!message.hasOwnProperty("isExtension")) + throw $util.ProtocolError("missing required 'isExtension'", { instance: message }); + return message; + }; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NamePart message. + * @function verify + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NamePart.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (!$util.isString(message.namePart)) + return "namePart: string expected"; + if (typeof message.isExtension !== "boolean") + return "isExtension: boolean expected"; + return null; + }; + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + */ + NamePart.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) + return object; + var message = new $root.google.protobuf.UninterpretedOption.NamePart(); + if (object.namePart != null) + message.namePart = String(object.namePart); + if (object.isExtension != null) + message.isExtension = Boolean(object.isExtension); + return message; + }; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NamePart.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.namePart = ""; + object.isExtension = false; + } + if (message.namePart != null && message.hasOwnProperty("namePart")) + object.namePart = message.namePart; + if (message.isExtension != null && message.hasOwnProperty("isExtension")) + object.isExtension = message.isExtension; + return object; + }; + + /** + * Converts this NamePart to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + * @returns {Object.} JSON object + */ + NamePart.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NamePart; + })(); + + return UninterpretedOption; + })(); + + protobuf.SourceCodeInfo = (function() { + + /** + * Properties of a SourceCodeInfo. + * @memberof google.protobuf + * @interface ISourceCodeInfo + * @property {Array.|null} [location] SourceCodeInfo location + */ + + /** + * Constructs a new SourceCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a SourceCodeInfo. + * @implements ISourceCodeInfo + * @constructor + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + */ + function SourceCodeInfo(properties) { + this.location = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SourceCodeInfo location. + * @member {Array.} location + * @memberof google.protobuf.SourceCodeInfo + * @instance + */ + SourceCodeInfo.prototype.location = $util.emptyArray; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance + */ + SourceCodeInfo.create = function create(properties) { + return new SourceCodeInfo(properties); + }; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.location != null && message.location.length) + for (var i = 0; i < message.location.length; ++i) + $root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.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.protobuf.SourceCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.location && message.location.length)) + message.location = []; + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SourceCodeInfo message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SourceCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.location != null && message.hasOwnProperty("location")) { + if (!Array.isArray(message.location)) + return "location: array expected"; + for (var i = 0; i < message.location.length; ++i) { + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + if (error) + return "location." + error; + } + } + return null; + }; + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + */ + SourceCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo) + return object; + var message = new $root.google.protobuf.SourceCodeInfo(); + if (object.location) { + if (!Array.isArray(object.location)) + throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected"); + message.location = []; + for (var i = 0; i < object.location.length; ++i) { + if (typeof object.location[i] !== "object") + throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.SourceCodeInfo} message SourceCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SourceCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.location = []; + if (message.location && message.location.length) { + object.location = []; + for (var j = 0; j < message.location.length; ++j) + object.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options); + } + return object; + }; + + /** + * Converts this SourceCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo + * @instance + * @returns {Object.} JSON object + */ + SourceCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + SourceCodeInfo.Location = (function() { + + /** + * Properties of a Location. + * @memberof google.protobuf.SourceCodeInfo + * @interface ILocation + * @property {Array.|null} [path] Location path + * @property {Array.|null} [span] Location span + * @property {string|null} [leadingComments] Location leadingComments + * @property {string|null} [trailingComments] Location trailingComments + * @property {Array.|null} [leadingDetachedComments] Location leadingDetachedComments + */ + + /** + * Constructs a new Location. + * @memberof google.protobuf.SourceCodeInfo + * @classdesc Represents a Location. + * @implements ILocation + * @constructor + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + */ + function Location(properties) { + this.path = []; + this.span = []; + this.leadingDetachedComments = []; + 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]]; + } + + /** + * Location path. + * @member {Array.} path + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.path = $util.emptyArray; + + /** + * Location span. + * @member {Array.} span + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.span = $util.emptyArray; + + /** + * Location leadingComments. + * @member {string} leadingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingComments = ""; + + /** + * Location trailingComments. + * @member {string} trailingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.trailingComments = ""; + + /** + * Location leadingDetachedComments. + * @member {Array.} leadingDetachedComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingDetachedComments = $util.emptyArray; + + /** + * Creates a new Location instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo.Location} Location instance + */ + Location.create = function create(properties) { + return new Location(properties); + }; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.span != null && message.span.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.span.length; ++i) + writer.int32(message.span[i]); + writer.ldelim(); + } + if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); + if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); + if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.leadingDetachedComments[i]); + return writer; + }; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Location message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.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.protobuf.SourceCodeInfo.Location(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + case 2: + if (!(message.span && message.span.length)) + message.span = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.span.push(reader.int32()); + } else + message.span.push(reader.int32()); + break; + case 3: + message.leadingComments = reader.string(); + break; + case 4: + message.trailingComments = reader.string(); + break; + case 6: + if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) + message.leadingDetachedComments = []; + message.leadingDetachedComments.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Location message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Location.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.span != null && message.hasOwnProperty("span")) { + if (!Array.isArray(message.span)) + return "span: array expected"; + for (var i = 0; i < message.span.length; ++i) + if (!$util.isInteger(message.span[i])) + return "span: integer[] expected"; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + if (!$util.isString(message.leadingComments)) + return "leadingComments: string expected"; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + if (!$util.isString(message.trailingComments)) + return "trailingComments: string expected"; + if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) { + if (!Array.isArray(message.leadingDetachedComments)) + return "leadingDetachedComments: array expected"; + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + if (!$util.isString(message.leadingDetachedComments[i])) + return "leadingDetachedComments: string[] expected"; + } + return null; + }; + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo.Location} Location + */ + Location.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) + return object; + var message = new $root.google.protobuf.SourceCodeInfo.Location(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.span) { + if (!Array.isArray(object.span)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected"); + message.span = []; + for (var i = 0; i < object.span.length; ++i) + message.span[i] = object.span[i] | 0; + } + if (object.leadingComments != null) + message.leadingComments = String(object.leadingComments); + if (object.trailingComments != null) + message.trailingComments = String(object.trailingComments); + if (object.leadingDetachedComments) { + if (!Array.isArray(object.leadingDetachedComments)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected"); + message.leadingDetachedComments = []; + for (var i = 0; i < object.leadingDetachedComments.length; ++i) + message.leadingDetachedComments[i] = String(object.leadingDetachedComments[i]); + } + return message; + }; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.Location} message Location + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Location.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.path = []; + object.span = []; + object.leadingDetachedComments = []; + } + if (options.defaults) { + object.leadingComments = ""; + object.trailingComments = ""; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.span && message.span.length) { + object.span = []; + for (var j = 0; j < message.span.length; ++j) + object.span[j] = message.span[j]; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + object.leadingComments = message.leadingComments; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + object.trailingComments = message.trailingComments; + if (message.leadingDetachedComments && message.leadingDetachedComments.length) { + object.leadingDetachedComments = []; + for (var j = 0; j < message.leadingDetachedComments.length; ++j) + object.leadingDetachedComments[j] = message.leadingDetachedComments[j]; + } + return object; + }; + + /** + * Converts this Location to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + * @returns {Object.} JSON object + */ + Location.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Location; + })(); + + return SourceCodeInfo; + })(); + + protobuf.GeneratedCodeInfo = (function() { + + /** + * Properties of a GeneratedCodeInfo. + * @memberof google.protobuf + * @interface IGeneratedCodeInfo + * @property {Array.|null} [annotation] GeneratedCodeInfo annotation + */ + + /** + * Constructs a new GeneratedCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a GeneratedCodeInfo. + * @implements IGeneratedCodeInfo + * @constructor + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + */ + function GeneratedCodeInfo(properties) { + this.annotation = []; + 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]]; + } + + /** + * GeneratedCodeInfo annotation. + * @member {Array.} annotation + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + */ + GeneratedCodeInfo.prototype.annotation = $util.emptyArray; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance + */ + GeneratedCodeInfo.create = function create(properties) { + return new GeneratedCodeInfo(properties); + }; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotation != null && message.annotation.length) + for (var i = 0; i < message.annotation.length; ++i) + $root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.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.protobuf.GeneratedCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotation && message.annotation.length)) + message.annotation = []; + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GeneratedCodeInfo message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GeneratedCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotation != null && message.hasOwnProperty("annotation")) { + if (!Array.isArray(message.annotation)) + return "annotation: array expected"; + for (var i = 0; i < message.annotation.length; ++i) { + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + if (error) + return "annotation." + error; + } + } + return null; + }; + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + */ + GeneratedCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo(); + if (object.annotation) { + if (!Array.isArray(object.annotation)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected"); + message.annotation = []; + for (var i = 0; i < object.annotation.length; ++i) { + if (typeof object.annotation[i] !== "object") + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.GeneratedCodeInfo} message GeneratedCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GeneratedCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotation = []; + if (message.annotation && message.annotation.length) { + object.annotation = []; + for (var j = 0; j < message.annotation.length; ++j) + object.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options); + } + return object; + }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + * @returns {Object.} JSON object + */ + GeneratedCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GeneratedCodeInfo.Annotation = (function() { + + /** + * Properties of an Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @interface IAnnotation + * @property {Array.|null} [path] Annotation path + * @property {string|null} [sourceFile] Annotation sourceFile + * @property {number|null} [begin] Annotation begin + * @property {number|null} [end] Annotation end + */ + + /** + * Constructs a new Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @classdesc Represents an Annotation. + * @implements IAnnotation + * @constructor + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + */ + function Annotation(properties) { + this.path = []; + 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]]; + } + + /** + * Annotation path. + * @member {Array.} path + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.path = $util.emptyArray; + + /** + * Annotation sourceFile. + * @member {string} sourceFile + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.sourceFile = ""; + + /** + * Annotation begin. + * @member {number} begin + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.begin = 0; + + /** + * Annotation end. + * @member {number} end + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.end = 0; + + /** + * Creates a new Annotation instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance + */ + Annotation.create = function create(properties) { + return new Annotation(properties); + }; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); + if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); + return writer; + }; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.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.protobuf.GeneratedCodeInfo.Annotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + case 2: + message.sourceFile = reader.string(); + break; + case 3: + message.begin = reader.int32(); + break; + case 4: + message.end = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Annotation message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Annotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + if (!$util.isString(message.sourceFile)) + return "sourceFile: string expected"; + if (message.begin != null && message.hasOwnProperty("begin")) + if (!$util.isInteger(message.begin)) + return "begin: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + */ + Annotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.sourceFile != null) + message.sourceFile = String(object.sourceFile); + if (object.begin != null) + message.begin = object.begin | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.Annotation} message Annotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Annotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.path = []; + if (options.defaults) { + object.sourceFile = ""; + object.begin = 0; + object.end = 0; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + object.sourceFile = message.sourceFile; + if (message.begin != null && message.hasOwnProperty("begin")) + object.begin = message.begin; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this Annotation to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + * @returns {Object.} JSON object + */ + Annotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Annotation; + })(); + + return GeneratedCodeInfo; + })(); + + protobuf.Any = (function() { + + /** + * Properties of an Any. + * @memberof google.protobuf + * @interface IAny + * @property {string|null} [type_url] Any type_url + * @property {Uint8Array|null} [value] Any value + */ + + /** + * Constructs a new Any. + * @memberof google.protobuf + * @classdesc Represents an Any. + * @implements IAny + * @constructor + * @param {google.protobuf.IAny=} [properties] Properties to set + */ + function Any(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]]; + } + + /** + * Any type_url. + * @member {string} type_url + * @memberof google.protobuf.Any + * @instance + */ + Any.prototype.type_url = ""; + + /** + * Any value. + * @member {Uint8Array} value + * @memberof google.protobuf.Any + * @instance + */ + Any.prototype.value = $util.newBuffer([]); + + /** + * Creates a new Any instance using the specified properties. + * @function create + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny=} [properties] Properties to set + * @returns {google.protobuf.Any} Any instance + */ + Any.create = function create(properties) { + return new Any(properties); + }; + + /** + * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny} message Any message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Any.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type_url != null && Object.hasOwnProperty.call(message, "type_url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + return writer; + }; + + /** + * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny} message Any message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Any.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Any message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Any + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Any} Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Any.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.protobuf.Any(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type_url = reader.string(); + break; + case 2: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Any message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Any + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Any} Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Any.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Any message. + * @function verify + * @memberof google.protobuf.Any + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Any.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type_url != null && message.hasOwnProperty("type_url")) + if (!$util.isString(message.type_url)) + return "type_url: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + return null; + }; + + /** + * Creates an Any message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Any + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Any} Any + */ + Any.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Any) + return object; + var message = new $root.google.protobuf.Any(); + if (object.type_url != null) + message.type_url = String(object.type_url); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length) + message.value = object.value; + return message; + }; + + /** + * Creates a plain object from an Any message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.Any} message Any + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Any.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type_url = ""; + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + } + if (message.type_url != null && message.hasOwnProperty("type_url")) + object.type_url = message.type_url; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this Any to JSON. + * @function toJSON + * @memberof google.protobuf.Any + * @instance + * @returns {Object.} JSON object + */ + Any.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Any; + })(); + + protobuf.Duration = (function() { + + /** + * Properties of a Duration. + * @memberof google.protobuf + * @interface IDuration + * @property {number|Long|null} [seconds] Duration seconds + * @property {number|null} [nanos] Duration nanos + */ + + /** + * Constructs a new Duration. + * @memberof google.protobuf + * @classdesc Represents a Duration. + * @implements IDuration + * @constructor + * @param {google.protobuf.IDuration=} [properties] Properties to set + */ + function Duration(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Duration seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Duration nanos. + * @member {number} nanos + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.nanos = 0; + + /** + * Creates a new Duration instance using the specified properties. + * @function create + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration=} [properties] Properties to set + * @returns {google.protobuf.Duration} Duration instance + */ + Duration.create = function create(properties) { + return new Duration(properties); + }; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Duration message. + * @function verify + * @memberof google.protobuf.Duration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Duration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Duration + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Duration} Duration + */ + Duration.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Duration) + return object; + var message = new $root.google.protobuf.Duration(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.Duration} message Duration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Duration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Duration to JSON. + * @function toJSON + * @memberof google.protobuf.Duration + * @instance + * @returns {Object.} JSON object + */ + Duration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Duration; + })(); + + protobuf.Empty = (function() { + + /** + * Properties of an Empty. + * @memberof google.protobuf + * @interface IEmpty + */ + + /** + * Constructs a new Empty. + * @memberof google.protobuf + * @classdesc Represents an Empty. + * @implements IEmpty + * @constructor + * @param {google.protobuf.IEmpty=} [properties] Properties to set + */ + function Empty(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new Empty instance using the specified properties. + * @function create + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty=} [properties] Properties to set + * @returns {google.protobuf.Empty} Empty instance + */ + Empty.create = function create(properties) { + return new Empty(properties); + }; + + /** + * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Empty message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.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.protobuf.Empty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Empty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Empty message. + * @function verify + * @memberof google.protobuf.Empty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Empty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an Empty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Empty + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Empty} Empty + */ + Empty.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Empty) + return object; + return new $root.google.protobuf.Empty(); + }; + + /** + * Creates a plain object from an Empty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.Empty} message Empty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Empty.toObject = function toObject() { + return {}; + }; + + /** + * Converts this Empty to JSON. + * @function toJSON + * @memberof google.protobuf.Empty + * @instance + * @returns {Object.} JSON object + */ + Empty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Empty; + })(); + + protobuf.Timestamp = (function() { + + /** + * Properties of a Timestamp. + * @memberof google.protobuf + * @interface ITimestamp + * @property {number|Long|null} [seconds] Timestamp seconds + * @property {number|null} [nanos] Timestamp nanos + */ + + /** + * Constructs a new Timestamp. + * @memberof google.protobuf + * @classdesc Represents a Timestamp. + * @implements ITimestamp + * @constructor + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + */ + function Timestamp(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]]; + } + + /** + * Timestamp seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Timestamp nanos. + * @member {number} nanos + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.nanos = 0; + + /** + * Creates a new Timestamp instance using the specified properties. + * @function create + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * @returns {google.protobuf.Timestamp} Timestamp instance + */ + Timestamp.create = function create(properties) { + return new Timestamp(properties); + }; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.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.protobuf.Timestamp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Timestamp message. + * @function verify + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Timestamp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Timestamp} Timestamp + */ + Timestamp.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Timestamp) + return object; + var message = new $root.google.protobuf.Timestamp(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.Timestamp} message Timestamp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Timestamp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Timestamp to JSON. + * @function toJSON + * @memberof google.protobuf.Timestamp + * @instance + * @returns {Object.} JSON object + */ + Timestamp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Timestamp; + })(); + + return protobuf; + })(); + + google.longrunning = (function() { + + /** + * Namespace longrunning. + * @memberof google + * @namespace + */ + var longrunning = {}; + + longrunning.Operations = (function() { + + /** + * Constructs a new Operations service. + * @memberof google.longrunning + * @classdesc Represents an Operations + * @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 Operations(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (Operations.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Operations; + + /** + * Creates new Operations service using the specified rpc implementation. + * @function create + * @memberof google.longrunning.Operations + * @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 {Operations} RPC service. Useful where requests and/or responses are streamed. + */ + Operations.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.longrunning.Operations#listOperations}. + * @memberof google.longrunning.Operations + * @typedef ListOperationsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.ListOperationsResponse} [response] ListOperationsResponse + */ + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @param {google.longrunning.Operations.ListOperationsCallback} callback Node-style callback called with the error, if any, and ListOperationsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.listOperations = function listOperations(request, callback) { + return this.rpcCall(listOperations, $root.google.longrunning.ListOperationsRequest, $root.google.longrunning.ListOperationsResponse, request, callback); + }, "name", { value: "ListOperations" }); + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#getOperation}. + * @memberof google.longrunning.Operations + * @typedef GetOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @param {google.longrunning.Operations.GetOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.getOperation = function getOperation(request, callback) { + return this.rpcCall(getOperation, $root.google.longrunning.GetOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "GetOperation" }); + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#deleteOperation}. + * @memberof google.longrunning.Operations + * @typedef DeleteOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @param {google.longrunning.Operations.DeleteOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.deleteOperation = function deleteOperation(request, callback) { + return this.rpcCall(deleteOperation, $root.google.longrunning.DeleteOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteOperation" }); + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#cancelOperation}. + * @memberof google.longrunning.Operations + * @typedef CancelOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @param {google.longrunning.Operations.CancelOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.cancelOperation = function cancelOperation(request, callback) { + return this.rpcCall(cancelOperation, $root.google.longrunning.CancelOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "CancelOperation" }); + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#waitOperation}. + * @memberof google.longrunning.Operations + * @typedef WaitOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @param {google.longrunning.Operations.WaitOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.waitOperation = function waitOperation(request, callback) { + return this.rpcCall(waitOperation, $root.google.longrunning.WaitOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "WaitOperation" }); + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return Operations; + })(); + + longrunning.Operation = (function() { + + /** + * Properties of an Operation. + * @memberof google.longrunning + * @interface IOperation + * @property {string|null} [name] Operation name + * @property {google.protobuf.IAny|null} [metadata] Operation metadata + * @property {boolean|null} [done] Operation done + * @property {google.rpc.IStatus|null} [error] Operation error + * @property {google.protobuf.IAny|null} [response] Operation response + */ + + /** + * Constructs a new Operation. + * @memberof google.longrunning + * @classdesc Represents an Operation. + * @implements IOperation + * @constructor + * @param {google.longrunning.IOperation=} [properties] Properties to set + */ + function Operation(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]]; + } + + /** + * Operation name. + * @member {string} name + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.name = ""; + + /** + * Operation metadata. + * @member {google.protobuf.IAny|null|undefined} metadata + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.metadata = null; + + /** + * Operation done. + * @member {boolean} done + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.done = false; + + /** + * Operation error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.error = null; + + /** + * Operation response. + * @member {google.protobuf.IAny|null|undefined} response + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.response = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Operation result. + * @member {"error"|"response"|undefined} result + * @memberof google.longrunning.Operation + * @instance + */ + Object.defineProperty(Operation.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["error", "response"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Operation instance using the specified properties. + * @function create + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation=} [properties] Properties to set + * @returns {google.longrunning.Operation} Operation instance + */ + Operation.create = function create(properties) { + return new Operation(properties); + }; + + /** + * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encode + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.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.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.google.protobuf.Any.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.done != null && Object.hasOwnProperty.call(message, "done")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.done); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.response != null && Object.hasOwnProperty.call(message, "response")) + $root.google.protobuf.Any.encode(message.response, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Operation message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.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.longrunning.Operation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + case 3: + message.done = reader.bool(); + break; + case 4: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 5: + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Operation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Operation message. + * @function verify + * @memberof google.longrunning.Operation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Operation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.google.protobuf.Any.verify(message.metadata); + if (error) + return "metadata." + error; + } + if (message.done != null && message.hasOwnProperty("done")) + if (typeof message.done !== "boolean") + return "done: boolean expected"; + if (message.error != null && message.hasOwnProperty("error")) { + properties.result = 1; + { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + } + if (message.response != null && message.hasOwnProperty("response")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.google.protobuf.Any.verify(message.response); + if (error) + return "response." + error; + } + } + return null; + }; + + /** + * Creates an Operation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.Operation + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.Operation} Operation + */ + Operation.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.Operation) + return object; + var message = new $root.google.longrunning.Operation(); + if (object.name != null) + message.name = String(object.name); + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".google.longrunning.Operation.metadata: object expected"); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata); + } + if (object.done != null) + message.done = Boolean(object.done); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.longrunning.Operation.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.response != null) { + if (typeof object.response !== "object") + throw TypeError(".google.longrunning.Operation.response: object expected"); + message.response = $root.google.protobuf.Any.fromObject(object.response); + } + return message; + }; + + /** + * Creates a plain object from an Operation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.Operation} message Operation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Operation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.metadata = null; + object.done = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.google.protobuf.Any.toObject(message.metadata, options); + if (message.done != null && message.hasOwnProperty("done")) + object.done = message.done; + if (message.error != null && message.hasOwnProperty("error")) { + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (options.oneofs) + object.result = "error"; + } + if (message.response != null && message.hasOwnProperty("response")) { + object.response = $root.google.protobuf.Any.toObject(message.response, options); + if (options.oneofs) + object.result = "response"; + } + return object; + }; + + /** + * Converts this Operation to JSON. + * @function toJSON + * @memberof google.longrunning.Operation + * @instance + * @returns {Object.} JSON object + */ + Operation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Operation; + })(); + + longrunning.GetOperationRequest = (function() { + + /** + * Properties of a GetOperationRequest. + * @memberof google.longrunning + * @interface IGetOperationRequest + * @property {string|null} [name] GetOperationRequest name + */ + + /** + * Constructs a new GetOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a GetOperationRequest. + * @implements IGetOperationRequest + * @constructor + * @param {google.longrunning.IGetOperationRequest=} [properties] Properties to set + */ + function GetOperationRequest(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]]; + } + + /** + * GetOperationRequest name. + * @member {string} name + * @memberof google.longrunning.GetOperationRequest + * @instance + */ + GetOperationRequest.prototype.name = ""; + + /** + * Creates a new GetOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest instance + */ + GetOperationRequest.create = function create(properties) { + return new GetOperationRequest(properties); + }; + + /** + * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest} message GetOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOperationRequest.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 GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest} message GetOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOperationRequest.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.longrunning.GetOperationRequest(); + 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 GetOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetOperationRequest message. + * @function verify + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetOperationRequest.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 GetOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + */ + GetOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.GetOperationRequest) + return object; + var message = new $root.google.longrunning.GetOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.GetOperationRequest} message GetOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetOperationRequest.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 GetOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.GetOperationRequest + * @instance + * @returns {Object.} JSON object + */ + GetOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetOperationRequest; + })(); + + longrunning.ListOperationsRequest = (function() { + + /** + * Properties of a ListOperationsRequest. + * @memberof google.longrunning + * @interface IListOperationsRequest + * @property {string|null} [name] ListOperationsRequest name + * @property {string|null} [filter] ListOperationsRequest filter + * @property {number|null} [pageSize] ListOperationsRequest pageSize + * @property {string|null} [pageToken] ListOperationsRequest pageToken + */ + + /** + * Constructs a new ListOperationsRequest. + * @memberof google.longrunning + * @classdesc Represents a ListOperationsRequest. + * @implements IListOperationsRequest + * @constructor + * @param {google.longrunning.IListOperationsRequest=} [properties] Properties to set + */ + function ListOperationsRequest(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]]; + } + + /** + * ListOperationsRequest name. + * @member {string} name + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.name = ""; + + /** + * ListOperationsRequest filter. + * @member {string} filter + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.filter = ""; + + /** + * ListOperationsRequest pageSize. + * @member {number} pageSize + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.pageSize = 0; + + /** + * ListOperationsRequest pageToken. + * @member {string} pageToken + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListOperationsRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest=} [properties] Properties to set + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest instance + */ + ListOperationsRequest.create = function create(properties) { + return new ListOperationsRequest(properties); + }; + + /** + * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest} message ListOperationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter); + 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.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); + return writer; + }; + + /** + * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest} message ListOperationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsRequest.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.longrunning.ListOperationsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 4: + message.name = reader.string(); + break; + case 1: + message.filter = 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 ListOperationsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListOperationsRequest message. + * @function verify + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListOperationsRequest.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.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: 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 ListOperationsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + */ + ListOperationsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.ListOperationsRequest) + return object; + var message = new $root.google.longrunning.ListOperationsRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.filter != null) + message.filter = String(object.filter); + 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 ListOperationsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.ListOperationsRequest} message ListOperationsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListOperationsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.filter = ""; + object.pageSize = 0; + object.pageToken = ""; + object.name = ""; + } + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this ListOperationsRequest to JSON. + * @function toJSON + * @memberof google.longrunning.ListOperationsRequest + * @instance + * @returns {Object.} JSON object + */ + ListOperationsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListOperationsRequest; + })(); + + longrunning.ListOperationsResponse = (function() { + + /** + * Properties of a ListOperationsResponse. + * @memberof google.longrunning + * @interface IListOperationsResponse + * @property {Array.|null} [operations] ListOperationsResponse operations + * @property {string|null} [nextPageToken] ListOperationsResponse nextPageToken + */ + + /** + * Constructs a new ListOperationsResponse. + * @memberof google.longrunning + * @classdesc Represents a ListOperationsResponse. + * @implements IListOperationsResponse + * @constructor + * @param {google.longrunning.IListOperationsResponse=} [properties] Properties to set + */ + function ListOperationsResponse(properties) { + this.operations = []; + 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]]; + } + + /** + * ListOperationsResponse operations. + * @member {Array.} operations + * @memberof google.longrunning.ListOperationsResponse + * @instance + */ + ListOperationsResponse.prototype.operations = $util.emptyArray; + + /** + * ListOperationsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.longrunning.ListOperationsResponse + * @instance + */ + ListOperationsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListOperationsResponse instance using the specified properties. + * @function create + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse=} [properties] Properties to set + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse instance + */ + ListOperationsResponse.create = function create(properties) { + return new ListOperationsResponse(properties); + }; + + /** + * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @function encode + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse} message ListOperationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.operations != null && message.operations.length) + for (var i = 0; i < message.operations.length; ++i) + $root.google.longrunning.Operation.encode(message.operations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse} message ListOperationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsResponse.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.longrunning.ListOperationsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.operations && message.operations.length)) + message.operations = []; + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListOperationsResponse message. + * @function verify + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListOperationsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.operations != null && message.hasOwnProperty("operations")) { + if (!Array.isArray(message.operations)) + return "operations: array expected"; + for (var i = 0; i < message.operations.length; ++i) { + var error = $root.google.longrunning.Operation.verify(message.operations[i]); + if (error) + return "operations." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + */ + ListOperationsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.ListOperationsResponse) + return object; + var message = new $root.google.longrunning.ListOperationsResponse(); + if (object.operations) { + if (!Array.isArray(object.operations)) + throw TypeError(".google.longrunning.ListOperationsResponse.operations: array expected"); + message.operations = []; + for (var i = 0; i < object.operations.length; ++i) { + if (typeof object.operations[i] !== "object") + throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected"); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.ListOperationsResponse} message ListOperationsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListOperationsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.operations = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.operations && message.operations.length) { + object.operations = []; + for (var j = 0; j < message.operations.length; ++j) + object.operations[j] = $root.google.longrunning.Operation.toObject(message.operations[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListOperationsResponse to JSON. + * @function toJSON + * @memberof google.longrunning.ListOperationsResponse + * @instance + * @returns {Object.} JSON object + */ + ListOperationsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListOperationsResponse; + })(); + + longrunning.CancelOperationRequest = (function() { + + /** + * Properties of a CancelOperationRequest. + * @memberof google.longrunning + * @interface ICancelOperationRequest + * @property {string|null} [name] CancelOperationRequest name + */ + + /** + * Constructs a new CancelOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a CancelOperationRequest. + * @implements ICancelOperationRequest + * @constructor + * @param {google.longrunning.ICancelOperationRequest=} [properties] Properties to set + */ + function CancelOperationRequest(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]]; + } + + /** + * CancelOperationRequest name. + * @member {string} name + * @memberof google.longrunning.CancelOperationRequest + * @instance + */ + CancelOperationRequest.prototype.name = ""; + + /** + * Creates a new CancelOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest instance + */ + CancelOperationRequest.create = function create(properties) { + return new CancelOperationRequest(properties); + }; + + /** + * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest} message CancelOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CancelOperationRequest.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 CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest} message CancelOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CancelOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CancelOperationRequest.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.longrunning.CancelOperationRequest(); + 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 CancelOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CancelOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CancelOperationRequest message. + * @function verify + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CancelOperationRequest.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 CancelOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + */ + CancelOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.CancelOperationRequest) + return object; + var message = new $root.google.longrunning.CancelOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.CancelOperationRequest} message CancelOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CancelOperationRequest.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 CancelOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.CancelOperationRequest + * @instance + * @returns {Object.} JSON object + */ + CancelOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CancelOperationRequest; + })(); + + longrunning.DeleteOperationRequest = (function() { + + /** + * Properties of a DeleteOperationRequest. + * @memberof google.longrunning + * @interface IDeleteOperationRequest + * @property {string|null} [name] DeleteOperationRequest name + */ + + /** + * Constructs a new DeleteOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a DeleteOperationRequest. + * @implements IDeleteOperationRequest + * @constructor + * @param {google.longrunning.IDeleteOperationRequest=} [properties] Properties to set + */ + function DeleteOperationRequest(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]]; + } + + /** + * DeleteOperationRequest name. + * @member {string} name + * @memberof google.longrunning.DeleteOperationRequest + * @instance + */ + DeleteOperationRequest.prototype.name = ""; + + /** + * Creates a new DeleteOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest instance + */ + DeleteOperationRequest.create = function create(properties) { + return new DeleteOperationRequest(properties); + }; + + /** + * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest} message DeleteOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteOperationRequest.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 DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest} message DeleteOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteOperationRequest.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.longrunning.DeleteOperationRequest(); + 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 DeleteOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteOperationRequest message. + * @function verify + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteOperationRequest.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 DeleteOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + */ + DeleteOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.DeleteOperationRequest) + return object; + var message = new $root.google.longrunning.DeleteOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.DeleteOperationRequest} message DeleteOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteOperationRequest.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 DeleteOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.DeleteOperationRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteOperationRequest; + })(); + + longrunning.WaitOperationRequest = (function() { + + /** + * Properties of a WaitOperationRequest. + * @memberof google.longrunning + * @interface IWaitOperationRequest + * @property {string|null} [name] WaitOperationRequest name + * @property {google.protobuf.IDuration|null} [timeout] WaitOperationRequest timeout + */ + + /** + * Constructs a new WaitOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a WaitOperationRequest. + * @implements IWaitOperationRequest + * @constructor + * @param {google.longrunning.IWaitOperationRequest=} [properties] Properties to set + */ + function WaitOperationRequest(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]]; + } + + /** + * WaitOperationRequest name. + * @member {string} name + * @memberof google.longrunning.WaitOperationRequest + * @instance + */ + WaitOperationRequest.prototype.name = ""; + + /** + * WaitOperationRequest timeout. + * @member {google.protobuf.IDuration|null|undefined} timeout + * @memberof google.longrunning.WaitOperationRequest + * @instance + */ + WaitOperationRequest.prototype.timeout = null; + + /** + * Creates a new WaitOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest instance + */ + WaitOperationRequest.create = function create(properties) { + return new WaitOperationRequest(properties); + }; + + /** + * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest} message WaitOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitOperationRequest.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.timeout != null && Object.hasOwnProperty.call(message, "timeout")) + $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest} message WaitOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitOperationRequest.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.longrunning.WaitOperationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WaitOperationRequest message. + * @function verify + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WaitOperationRequest.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.timeout != null && message.hasOwnProperty("timeout")) { + var error = $root.google.protobuf.Duration.verify(message.timeout); + if (error) + return "timeout." + error; + } + return null; + }; + + /** + * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + */ + WaitOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.WaitOperationRequest) + return object; + var message = new $root.google.longrunning.WaitOperationRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.timeout != null) { + if (typeof object.timeout !== "object") + throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected"); + message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout); + } + return message; + }; + + /** + * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.WaitOperationRequest} message WaitOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitOperationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.timeout = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.timeout != null && message.hasOwnProperty("timeout")) + object.timeout = $root.google.protobuf.Duration.toObject(message.timeout, options); + return object; + }; + + /** + * Converts this WaitOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.WaitOperationRequest + * @instance + * @returns {Object.} JSON object + */ + WaitOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WaitOperationRequest; + })(); + + longrunning.OperationInfo = (function() { + + /** + * Properties of an OperationInfo. + * @memberof google.longrunning + * @interface IOperationInfo + * @property {string|null} [responseType] OperationInfo responseType + * @property {string|null} [metadataType] OperationInfo metadataType + */ + + /** + * Constructs a new OperationInfo. + * @memberof google.longrunning + * @classdesc Represents an OperationInfo. + * @implements IOperationInfo + * @constructor + * @param {google.longrunning.IOperationInfo=} [properties] Properties to set + */ + function OperationInfo(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]]; + } + + /** + * OperationInfo responseType. + * @member {string} responseType + * @memberof google.longrunning.OperationInfo + * @instance + */ + OperationInfo.prototype.responseType = ""; + + /** + * OperationInfo metadataType. + * @member {string} metadataType + * @memberof google.longrunning.OperationInfo + * @instance + */ + OperationInfo.prototype.metadataType = ""; + + /** + * Creates a new OperationInfo instance using the specified properties. + * @function create + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo=} [properties] Properties to set + * @returns {google.longrunning.OperationInfo} OperationInfo instance + */ + OperationInfo.create = function create(properties) { + return new OperationInfo(properties); + }; + + /** + * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @function encode + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo} message OperationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responseType != null && Object.hasOwnProperty.call(message, "responseType")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.responseType); + if (message.metadataType != null && Object.hasOwnProperty.call(message, "metadataType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.metadataType); + return writer; + }; + + /** + * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo} message OperationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.OperationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.OperationInfo} OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationInfo.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.longrunning.OperationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.responseType = reader.string(); + break; + case 2: + message.metadataType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.OperationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.OperationInfo} OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationInfo message. + * @function verify + * @memberof google.longrunning.OperationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responseType != null && message.hasOwnProperty("responseType")) + if (!$util.isString(message.responseType)) + return "responseType: string expected"; + if (message.metadataType != null && message.hasOwnProperty("metadataType")) + if (!$util.isString(message.metadataType)) + return "metadataType: string expected"; + return null; + }; + + /** + * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.OperationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.OperationInfo} OperationInfo + */ + OperationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.OperationInfo) + return object; + var message = new $root.google.longrunning.OperationInfo(); + if (object.responseType != null) + message.responseType = String(object.responseType); + if (object.metadataType != null) + message.metadataType = String(object.metadataType); + return message; + }; + + /** + * Creates a plain object from an OperationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.OperationInfo} message OperationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.responseType = ""; + object.metadataType = ""; + } + if (message.responseType != null && message.hasOwnProperty("responseType")) + object.responseType = message.responseType; + if (message.metadataType != null && message.hasOwnProperty("metadataType")) + object.metadataType = message.metadataType; + return object; + }; + + /** + * Converts this OperationInfo to JSON. + * @function toJSON + * @memberof google.longrunning.OperationInfo + * @instance + * @returns {Object.} JSON object + */ + OperationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OperationInfo; + })(); + + return longrunning; + })(); + + google.rpc = (function() { + + /** + * Namespace rpc. + * @memberof google + * @namespace + */ + var rpc = {}; + + rpc.Status = (function() { + + /** + * Properties of a Status. + * @memberof google.rpc + * @interface IStatus + * @property {number|null} [code] Status code + * @property {string|null} [message] Status message + * @property {Array.|null} [details] Status details + */ + + /** + * Constructs a new Status. + * @memberof google.rpc + * @classdesc Represents a Status. + * @implements IStatus + * @constructor + * @param {google.rpc.IStatus=} [properties] Properties to set + */ + function Status(properties) { + this.details = []; + 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]]; + } + + /** + * Status code. + * @member {number} code + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.code = 0; + + /** + * Status message. + * @member {string} message + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.message = ""; + + /** + * Status details. + * @member {Array.} details + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.details = $util.emptyArray; + + /** + * Creates a new Status instance using the specified properties. + * @function create + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus=} [properties] Properties to set + * @returns {google.rpc.Status} Status instance + */ + Status.create = function create(properties) { + return new Status(properties); + }; + + /** + * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @function encode + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus} message Status message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Status.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code); + if (message.message != null && Object.hasOwnProperty.call(message, "message")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); + if (message.details != null && message.details.length) + for (var i = 0; i < message.details.length; ++i) + $root.google.protobuf.Any.encode(message.details[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @function encodeDelimited + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus} message Status message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Status.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Status message from the specified reader or buffer. + * @function decode + * @memberof google.rpc.Status + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.rpc.Status} Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Status.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.rpc.Status(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.code = reader.int32(); + break; + case 2: + message.message = reader.string(); + break; + case 3: + if (!(message.details && message.details.length)) + message.details = []; + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Status message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.rpc.Status + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.rpc.Status} Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Status.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Status message. + * @function verify + * @memberof google.rpc.Status + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Status.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.message != null && message.hasOwnProperty("message")) + if (!$util.isString(message.message)) + return "message: string expected"; + if (message.details != null && message.hasOwnProperty("details")) { + if (!Array.isArray(message.details)) + return "details: array expected"; + for (var i = 0; i < message.details.length; ++i) { + var error = $root.google.protobuf.Any.verify(message.details[i]); + if (error) + return "details." + error; + } + } + return null; + }; + + /** + * Creates a Status message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.rpc.Status + * @static + * @param {Object.} object Plain object + * @returns {google.rpc.Status} Status + */ + Status.fromObject = function fromObject(object) { + if (object instanceof $root.google.rpc.Status) + return object; + var message = new $root.google.rpc.Status(); + if (object.code != null) + message.code = object.code | 0; + if (object.message != null) + message.message = String(object.message); + if (object.details) { + if (!Array.isArray(object.details)) + throw TypeError(".google.rpc.Status.details: array expected"); + message.details = []; + for (var i = 0; i < object.details.length; ++i) { + if (typeof object.details[i] !== "object") + throw TypeError(".google.rpc.Status.details: object expected"); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Status message. Also converts values to other types if specified. + * @function toObject + * @memberof google.rpc.Status + * @static + * @param {google.rpc.Status} message Status + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Status.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.details = []; + if (options.defaults) { + object.code = 0; + object.message = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.message != null && message.hasOwnProperty("message")) + object.message = message.message; + if (message.details && message.details.length) { + object.details = []; + for (var j = 0; j < message.details.length; ++j) + object.details[j] = $root.google.protobuf.Any.toObject(message.details[j], options); + } + return object; + }; + + /** + * Converts this Status to JSON. + * @function toJSON + * @memberof google.rpc.Status + * @instance + * @returns {Object.} JSON object + */ + Status.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Status; + })(); + + return rpc; + })(); + + return google; + })(); + + return $root; +}); diff --git a/packages/google-cloud-tpu/protos/protos.json b/packages/google-cloud-tpu/protos/protos.json new file mode 100644 index 00000000000..1c1d4022024 --- /dev/null +++ b/packages/google-cloud-tpu/protos/protos.json @@ -0,0 +1,2170 @@ +{ + "nested": { + "google": { + "nested": { + "cloud": { + "nested": { + "tpu": { + "nested": { + "v1": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/cloud/tpu/v1;tpu", + "java_multiple_files": true, + "java_outer_classname": "CloudTpuProto", + "java_package": "com.google.cloud.tpu.v1" + }, + "nested": { + "Tpu": { + "options": { + "(google.api.default_host)": "tpu.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, + "methods": { + "ListNodes": { + "requestType": "ListNodesRequest", + "responseType": "ListNodesResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/nodes", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*}/nodes" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetNode": { + "requestType": "GetNodeRequest", + "responseType": "Node", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/nodes/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/nodes/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "CreateNode": { + "requestType": "CreateNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/nodes", + "(google.api.http).body": "node", + "(google.api.method_signature)": "parent,node,node_id", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/nodes", + "body": "node" + } + }, + { + "(google.api.method_signature)": "parent,node,node_id" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DeleteNode": { + "requestType": "DeleteNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/nodes/*}", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=projects/*/locations/*/nodes/*}" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ReimageNode": { + "requestType": "ReimageNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/nodes/*}:reimage", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/nodes/*}:reimage", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "StopNode": { + "requestType": "StopNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/nodes/*}:stop", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/nodes/*}:stop", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "StartNode": { + "requestType": "StartNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/nodes/*}:start", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/nodes/*}:start", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ListTensorFlowVersions": { + "requestType": "ListTensorFlowVersionsRequest", + "responseType": "ListTensorFlowVersionsResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/tensorflowVersions", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*}/tensorflowVersions" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetTensorFlowVersion": { + "requestType": "GetTensorFlowVersionRequest", + "responseType": "TensorFlowVersion", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/tensorflowVersions/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/tensorflowVersions/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "ListAcceleratorTypes": { + "requestType": "ListAcceleratorTypesRequest", + "responseType": "ListAcceleratorTypesResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/acceleratorTypes", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*}/acceleratorTypes" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetAcceleratorType": { + "requestType": "GetAcceleratorTypeRequest", + "responseType": "AcceleratorType", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/acceleratorTypes/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/acceleratorTypes/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + } + } + }, + "SchedulingConfig": { + "fields": { + "preemptible": { + "type": "bool", + "id": 1 + }, + "reserved": { + "type": "bool", + "id": 2 + } + } + }, + "NetworkEndpoint": { + "fields": { + "ipAddress": { + "type": "string", + "id": 1 + }, + "port": { + "type": "int32", + "id": 2 + } + } + }, + "Node": { + "options": { + "(google.api.resource).type": "tpu.googleapis.com/Node", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/nodes/{node}" + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "description": { + "type": "string", + "id": 3 + }, + "acceleratorType": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "ipAddress": { + "type": "string", + "id": 8, + "options": { + "deprecated": true + } + }, + "port": { + "type": "string", + "id": 14, + "options": { + "deprecated": true + } + }, + "state": { + "type": "State", + "id": 9, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "healthDescription": { + "type": "string", + "id": 10, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "tensorflowVersion": { + "type": "string", + "id": 11, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "network": { + "type": "string", + "id": 12 + }, + "cidrBlock": { + "type": "string", + "id": 13 + }, + "serviceAccount": { + "type": "string", + "id": 15, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 16, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "schedulingConfig": { + "type": "SchedulingConfig", + "id": 17 + }, + "networkEndpoints": { + "rule": "repeated", + "type": "NetworkEndpoint", + "id": 21, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "health": { + "type": "Health", + "id": 22 + }, + "labels": { + "keyType": "string", + "type": "string", + "id": 24 + }, + "useServiceNetworking": { + "type": "bool", + "id": 27 + }, + "apiVersion": { + "type": "ApiVersion", + "id": 38, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "symptoms": { + "rule": "repeated", + "type": "Symptom", + "id": 39, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "State": { + "values": { + "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": { + "values": { + "HEALTH_UNSPECIFIED": 0, + "HEALTHY": 1, + "DEPRECATED_UNHEALTHY": 2, + "TIMEOUT": 3, + "UNHEALTHY_TENSORFLOW": 4, + "UNHEALTHY_MAINTENANCE": 5 + } + }, + "ApiVersion": { + "values": { + "API_VERSION_UNSPECIFIED": 0, + "V1_ALPHA1": 1, + "V1": 2, + "V2_ALPHA1": 3 + } + } + } + }, + "ListNodesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "tpu.googleapis.com/Node" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListNodesResponse": { + "fields": { + "nodes": { + "rule": "repeated", + "type": "Node", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + }, + "unreachable": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "GetNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/Node" + } + } + } + }, + "CreateNodeRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "tpu.googleapis.com/Node" + } + }, + "nodeId": { + "type": "string", + "id": 2 + }, + "node": { + "type": "Node", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "DeleteNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/Node" + } + } + } + }, + "ReimageNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "tensorflowVersion": { + "type": "string", + "id": 2 + } + } + }, + "StopNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "StartNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "TensorFlowVersion": { + "options": { + "(google.api.resource).type": "tpu.googleapis.com/TensorFlowVersion", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/tensorFlowVersions/{tensor_flow_version}" + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "version": { + "type": "string", + "id": 2 + } + } + }, + "GetTensorFlowVersionRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/TensorFlowVersion" + } + } + } + }, + "ListTensorFlowVersionsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/TensorFlowVersion" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 5 + }, + "orderBy": { + "type": "string", + "id": 6 + } + } + }, + "ListTensorFlowVersionsResponse": { + "fields": { + "tensorflowVersions": { + "rule": "repeated", + "type": "TensorFlowVersion", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + }, + "unreachable": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "AcceleratorType": { + "options": { + "(google.api.resource).type": "tpu.googleapis.com/AcceleratorType", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/acceleratorTypes/{accelerator_type}" + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "type": { + "type": "string", + "id": 2 + } + } + }, + "GetAcceleratorTypeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/AcceleratorType" + } + } + } + }, + "ListAcceleratorTypesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/AcceleratorType" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 5 + }, + "orderBy": { + "type": "string", + "id": 6 + } + } + }, + "ListAcceleratorTypesResponse": { + "fields": { + "acceleratorTypes": { + "rule": "repeated", + "type": "AcceleratorType", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + }, + "unreachable": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "OperationMetadata": { + "fields": { + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "target": { + "type": "string", + "id": 3 + }, + "verb": { + "type": "string", + "id": 4 + }, + "statusDetail": { + "type": "string", + "id": 5 + }, + "cancelRequested": { + "type": "bool", + "id": 6 + }, + "apiVersion": { + "type": "string", + "id": 7 + } + } + }, + "Symptom": { + "fields": { + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "symptomType": { + "type": "SymptomType", + "id": 2 + }, + "details": { + "type": "string", + "id": 3 + }, + "workerId": { + "type": "string", + "id": 4 + } + }, + "nested": { + "SymptomType": { + "values": { + "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 + } + } + } + } + } + } + } + } + } + }, + "api": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", + "java_multiple_files": true, + "java_outer_classname": "ResourceProto", + "java_package": "com.google.api", + "objc_class_prefix": "GAPI", + "cc_enable_arenas": true + }, + "nested": { + "http": { + "type": "HttpRule", + "id": 72295728, + "extend": "google.protobuf.MethodOptions" + }, + "Http": { + "fields": { + "rules": { + "rule": "repeated", + "type": "HttpRule", + "id": 1 + }, + "fullyDecodeReservedExpansion": { + "type": "bool", + "id": 2 + } + } + }, + "HttpRule": { + "oneofs": { + "pattern": { + "oneof": [ + "get", + "put", + "post", + "delete", + "patch", + "custom" + ] + } + }, + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "get": { + "type": "string", + "id": 2 + }, + "put": { + "type": "string", + "id": 3 + }, + "post": { + "type": "string", + "id": 4 + }, + "delete": { + "type": "string", + "id": 5 + }, + "patch": { + "type": "string", + "id": 6 + }, + "custom": { + "type": "CustomHttpPattern", + "id": 8 + }, + "body": { + "type": "string", + "id": 7 + }, + "responseBody": { + "type": "string", + "id": 12 + }, + "additionalBindings": { + "rule": "repeated", + "type": "HttpRule", + "id": 11 + } + } + }, + "CustomHttpPattern": { + "fields": { + "kind": { + "type": "string", + "id": 1 + }, + "path": { + "type": "string", + "id": 2 + } + } + }, + "methodSignature": { + "rule": "repeated", + "type": "string", + "id": 1051, + "extend": "google.protobuf.MethodOptions" + }, + "defaultHost": { + "type": "string", + "id": 1049, + "extend": "google.protobuf.ServiceOptions" + }, + "oauthScopes": { + "type": "string", + "id": 1050, + "extend": "google.protobuf.ServiceOptions" + }, + "fieldBehavior": { + "rule": "repeated", + "type": "google.api.FieldBehavior", + "id": 1052, + "extend": "google.protobuf.FieldOptions" + }, + "FieldBehavior": { + "values": { + "FIELD_BEHAVIOR_UNSPECIFIED": 0, + "OPTIONAL": 1, + "REQUIRED": 2, + "OUTPUT_ONLY": 3, + "INPUT_ONLY": 4, + "IMMUTABLE": 5, + "UNORDERED_LIST": 6 + } + }, + "resourceReference": { + "type": "google.api.ResourceReference", + "id": 1055, + "extend": "google.protobuf.FieldOptions" + }, + "resourceDefinition": { + "rule": "repeated", + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.FileOptions" + }, + "resource": { + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.MessageOptions" + }, + "ResourceDescriptor": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "pattern": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "nameField": { + "type": "string", + "id": 3 + }, + "history": { + "type": "History", + "id": 4 + }, + "plural": { + "type": "string", + "id": 5 + }, + "singular": { + "type": "string", + "id": 6 + }, + "style": { + "rule": "repeated", + "type": "Style", + "id": 10 + } + }, + "nested": { + "History": { + "values": { + "HISTORY_UNSPECIFIED": 0, + "ORIGINALLY_SINGLE_PATTERN": 1, + "FUTURE_MULTI_PATTERN": 2 + } + }, + "Style": { + "values": { + "STYLE_UNSPECIFIED": 0, + "DECLARATIVE_FRIENDLY": 1 + } + } + } + }, + "ResourceReference": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "childType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "protobuf": { + "options": { + "go_package": "google.golang.org/protobuf/types/descriptorpb", + "java_package": "com.google.protobuf", + "java_outer_classname": "DescriptorProtos", + "csharp_namespace": "Google.Protobuf.Reflection", + "objc_class_prefix": "GPB", + "cc_enable_arenas": true, + "optimize_for": "SPEED" + }, + "nested": { + "FileDescriptorSet": { + "fields": { + "file": { + "rule": "repeated", + "type": "FileDescriptorProto", + "id": 1 + } + } + }, + "FileDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "package": { + "type": "string", + "id": 2 + }, + "dependency": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "publicDependency": { + "rule": "repeated", + "type": "int32", + "id": 10, + "options": { + "packed": false + } + }, + "weakDependency": { + "rule": "repeated", + "type": "int32", + "id": 11, + "options": { + "packed": false + } + }, + "messageType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 4 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 5 + }, + "service": { + "rule": "repeated", + "type": "ServiceDescriptorProto", + "id": 6 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 7 + }, + "options": { + "type": "FileOptions", + "id": 8 + }, + "sourceCodeInfo": { + "type": "SourceCodeInfo", + "id": 9 + }, + "syntax": { + "type": "string", + "id": 12 + } + } + }, + "DescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "field": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 2 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 6 + }, + "nestedType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 3 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 4 + }, + "extensionRange": { + "rule": "repeated", + "type": "ExtensionRange", + "id": 5 + }, + "oneofDecl": { + "rule": "repeated", + "type": "OneofDescriptorProto", + "id": 8 + }, + "options": { + "type": "MessageOptions", + "id": 7 + }, + "reservedRange": { + "rule": "repeated", + "type": "ReservedRange", + "id": 9 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 10 + } + }, + "nested": { + "ExtensionRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "ExtensionRangeOptions", + "id": 3 + } + } + }, + "ReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "ExtensionRangeOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "FieldDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 3 + }, + "label": { + "type": "Label", + "id": 4 + }, + "type": { + "type": "Type", + "id": 5 + }, + "typeName": { + "type": "string", + "id": 6 + }, + "extendee": { + "type": "string", + "id": 2 + }, + "defaultValue": { + "type": "string", + "id": 7 + }, + "oneofIndex": { + "type": "int32", + "id": 9 + }, + "jsonName": { + "type": "string", + "id": 10 + }, + "options": { + "type": "FieldOptions", + "id": 8 + }, + "proto3Optional": { + "type": "bool", + "id": 17 + } + }, + "nested": { + "Type": { + "values": { + "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": { + "values": { + "LABEL_OPTIONAL": 1, + "LABEL_REQUIRED": 2, + "LABEL_REPEATED": 3 + } + } + } + }, + "OneofDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "options": { + "type": "OneofOptions", + "id": 2 + } + } + }, + "EnumDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "rule": "repeated", + "type": "EnumValueDescriptorProto", + "id": 2 + }, + "options": { + "type": "EnumOptions", + "id": 3 + }, + "reservedRange": { + "rule": "repeated", + "type": "EnumReservedRange", + "id": 4 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 5 + } + }, + "nested": { + "EnumReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "EnumValueDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "EnumValueOptions", + "id": 3 + } + } + }, + "ServiceDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "method": { + "rule": "repeated", + "type": "MethodDescriptorProto", + "id": 2 + }, + "options": { + "type": "ServiceOptions", + "id": 3 + } + } + }, + "MethodDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "inputType": { + "type": "string", + "id": 2 + }, + "outputType": { + "type": "string", + "id": 3 + }, + "options": { + "type": "MethodOptions", + "id": 4 + }, + "clientStreaming": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "serverStreaming": { + "type": "bool", + "id": 6, + "options": { + "default": false + } + } + } + }, + "FileOptions": { + "fields": { + "javaPackage": { + "type": "string", + "id": 1 + }, + "javaOuterClassname": { + "type": "string", + "id": 8 + }, + "javaMultipleFiles": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "javaGenerateEqualsAndHash": { + "type": "bool", + "id": 20, + "options": { + "deprecated": true + } + }, + "javaStringCheckUtf8": { + "type": "bool", + "id": 27, + "options": { + "default": false + } + }, + "optimizeFor": { + "type": "OptimizeMode", + "id": 9, + "options": { + "default": "SPEED" + } + }, + "goPackage": { + "type": "string", + "id": 11 + }, + "ccGenericServices": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "javaGenericServices": { + "type": "bool", + "id": 17, + "options": { + "default": false + } + }, + "pyGenericServices": { + "type": "bool", + "id": 18, + "options": { + "default": false + } + }, + "phpGenericServices": { + "type": "bool", + "id": 42, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 23, + "options": { + "default": false + } + }, + "ccEnableArenas": { + "type": "bool", + "id": 31, + "options": { + "default": true + } + }, + "objcClassPrefix": { + "type": "string", + "id": 36 + }, + "csharpNamespace": { + "type": "string", + "id": 37 + }, + "swiftPrefix": { + "type": "string", + "id": 39 + }, + "phpClassPrefix": { + "type": "string", + "id": 40 + }, + "phpNamespace": { + "type": "string", + "id": 41 + }, + "phpMetadataNamespace": { + "type": "string", + "id": 44 + }, + "rubyPackage": { + "type": "string", + "id": 45 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 38, + 38 + ] + ], + "nested": { + "OptimizeMode": { + "values": { + "SPEED": 1, + "CODE_SIZE": 2, + "LITE_RUNTIME": 3 + } + } + } + }, + "MessageOptions": { + "fields": { + "messageSetWireFormat": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "noStandardDescriptorAccessor": { + "type": "bool", + "id": 2, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "mapEntry": { + "type": "bool", + "id": 7 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 8, + 8 + ], + [ + 9, + 9 + ] + ] + }, + "FieldOptions": { + "fields": { + "ctype": { + "type": "CType", + "id": 1, + "options": { + "default": "STRING" + } + }, + "packed": { + "type": "bool", + "id": 2 + }, + "jstype": { + "type": "JSType", + "id": 6, + "options": { + "default": "JS_NORMAL" + } + }, + "lazy": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "weak": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ] + ], + "nested": { + "CType": { + "values": { + "STRING": 0, + "CORD": 1, + "STRING_PIECE": 2 + } + }, + "JSType": { + "values": { + "JS_NORMAL": 0, + "JS_STRING": 1, + "JS_NUMBER": 2 + } + } + } + }, + "OneofOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "EnumOptions": { + "fields": { + "allowAlias": { + "type": "bool", + "id": 2 + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 5, + 5 + ] + ] + }, + "EnumValueOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "ServiceOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "MethodOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "idempotencyLevel": { + "type": "IdempotencyLevel", + "id": 34, + "options": { + "default": "IDEMPOTENCY_UNKNOWN" + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "IdempotencyLevel": { + "values": { + "IDEMPOTENCY_UNKNOWN": 0, + "NO_SIDE_EFFECTS": 1, + "IDEMPOTENT": 2 + } + } + } + }, + "UninterpretedOption": { + "fields": { + "name": { + "rule": "repeated", + "type": "NamePart", + "id": 2 + }, + "identifierValue": { + "type": "string", + "id": 3 + }, + "positiveIntValue": { + "type": "uint64", + "id": 4 + }, + "negativeIntValue": { + "type": "int64", + "id": 5 + }, + "doubleValue": { + "type": "double", + "id": 6 + }, + "stringValue": { + "type": "bytes", + "id": 7 + }, + "aggregateValue": { + "type": "string", + "id": 8 + } + }, + "nested": { + "NamePart": { + "fields": { + "namePart": { + "rule": "required", + "type": "string", + "id": 1 + }, + "isExtension": { + "rule": "required", + "type": "bool", + "id": 2 + } + } + } + } + }, + "SourceCodeInfo": { + "fields": { + "location": { + "rule": "repeated", + "type": "Location", + "id": 1 + } + }, + "nested": { + "Location": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "span": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "leadingComments": { + "type": "string", + "id": 3 + }, + "trailingComments": { + "type": "string", + "id": 4 + }, + "leadingDetachedComments": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + } + } + }, + "GeneratedCodeInfo": { + "fields": { + "annotation": { + "rule": "repeated", + "type": "Annotation", + "id": 1 + } + }, + "nested": { + "Annotation": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "sourceFile": { + "type": "string", + "id": 2 + }, + "begin": { + "type": "int32", + "id": 3 + }, + "end": { + "type": "int32", + "id": 4 + } + } + } + } + }, + "Any": { + "fields": { + "type_url": { + "type": "string", + "id": 1 + }, + "value": { + "type": "bytes", + "id": 2 + } + } + }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "Empty": { + "fields": {} + }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "longrunning": { + "options": { + "cc_enable_arenas": true, + "csharp_namespace": "Google.LongRunning", + "go_package": "google.golang.org/genproto/googleapis/longrunning;longrunning", + "java_multiple_files": true, + "java_outer_classname": "OperationsProto", + "java_package": "com.google.longrunning", + "php_namespace": "Google\\LongRunning" + }, + "nested": { + "operationInfo": { + "type": "google.longrunning.OperationInfo", + "id": 1049, + "extend": "google.protobuf.MethodOptions" + }, + "Operations": { + "options": { + "(google.api.default_host)": "longrunning.googleapis.com" + }, + "methods": { + "ListOperations": { + "requestType": "ListOperationsRequest", + "responseType": "ListOperationsResponse", + "options": { + "(google.api.http).get": "/v1/{name=operations}", + "(google.api.method_signature)": "name,filter" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations}" + } + }, + { + "(google.api.method_signature)": "name,filter" + } + ] + }, + "GetOperation": { + "requestType": "GetOperationRequest", + "responseType": "Operation", + "options": { + "(google.api.http).get": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "DeleteOperation": { + "requestType": "DeleteOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "CancelOperation": { + "requestType": "CancelOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=operations/**}:cancel", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=operations/**}:cancel", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "WaitOperation": { + "requestType": "WaitOperationRequest", + "responseType": "Operation" + } + } + }, + "Operation": { + "oneofs": { + "result": { + "oneof": [ + "error", + "response" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "metadata": { + "type": "google.protobuf.Any", + "id": 2 + }, + "done": { + "type": "bool", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + }, + "response": { + "type": "google.protobuf.Any", + "id": 5 + } + } + }, + "GetOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "ListOperationsRequest": { + "fields": { + "name": { + "type": "string", + "id": 4 + }, + "filter": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListOperationsResponse": { + "fields": { + "operations": { + "rule": "repeated", + "type": "Operation", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "CancelOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "WaitOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "timeout": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "OperationInfo": { + "fields": { + "responseType": { + "type": "string", + "id": 1 + }, + "metadataType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "rpc": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/rpc/status;status", + "java_multiple_files": true, + "java_outer_classname": "StatusProto", + "java_package": "com.google.rpc", + "objc_class_prefix": "RPC" + }, + "nested": { + "Status": { + "fields": { + "code": { + "type": "int32", + "id": 1 + }, + "message": { + "type": "string", + "id": 2 + }, + "details": { + "rule": "repeated", + "type": "google.protobuf.Any", + "id": 3 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json new file mode 100644 index 00000000000..efa38299ee3 --- /dev/null +++ b/packages/google-cloud-tpu/samples/package.json @@ -0,0 +1,23 @@ +{ + "name": "nodejs-cloud-tpu", + "private": true, + "license": "Apache-2.0", + "author": "Google LLC", + "engines": { + "node": ">=10" + }, + "files": [ + "*.js" + ], + "scripts": { + "test": "c8 mocha --timeout 600000 test/*.js" + }, + "dependencies": { + "@google-cloud/tpu": "^0.1.0" + }, + "devDependencies": { + "c8": "^7.1.0", + "chai": "^4.2.0", + "mocha": "^8.0.0" + } +} diff --git a/packages/google-cloud-tpu/samples/quickstart.js b/packages/google-cloud-tpu/samples/quickstart.js new file mode 100644 index 00000000000..8ca95e33d92 --- /dev/null +++ b/packages/google-cloud-tpu/samples/quickstart.js @@ -0,0 +1,50 @@ +// 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. +// + +'use strict'; + +async function main() { + + // [START nodejs_cloud_tpu_quickstart] + // 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 + // eslint-disable-next-line no-unused-vars + const client = new {TpuClient}(); + + //TODO(library generator): write the actual function you will be testing + async function doSomething() { + console.log('DPE! Change this code so that it shows how to use the library! See comments below on structure.') + // const [thing] = await client.methodName({ + // }); + // console.info(thing); + } + doSomething(); + // [END nodejs_cloud_tpu_quickstart] +} + +main(...process.argv.slice(2)).catch(err => { + console.error(err.message); + process.exitCode = 1; +}); +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); diff --git a/packages/google-cloud-tpu/samples/test/quickstart.js b/packages/google-cloud-tpu/samples/test/quickstart.js new file mode 100644 index 00000000000..61c095d22a6 --- /dev/null +++ b/packages/google-cloud-tpu/samples/test/quickstart.js @@ -0,0 +1,53 @@ +// +// 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'; + +const path = require('path'); +const cp = require('child_process'); +const {before, describe, it} = require('mocha'); +// eslint-disable-next-line node/no-missing-require +const {TpuClient} = require('@google-cloud/tpu'); +// eslint-disable-next-line no-unused-vars, node/no-missing-require +const {assert} = require('chai'); + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +const cwd = path.join(__dirname, '..'); + +const client = new {TpuClient}(); + +describe('Quickstart', () => { + //TODO: remove this if not using the projectId + // eslint-disable-next-line no-unused-vars + let projectId; + + before(async () => { + // eslint-disable-next-line no-unused-vars + projectId = await client.getProjectId(); + }); + + it('should run quickstart', async () => { + //TODO: remove this line + // eslint-disable-next-line no-unused-vars + const stdout = execSync( + `node ./quickstart.js`, + {cwd} + ); + //assert(stdout, stdout !== null); + }); +}); diff --git a/packages/google-cloud-tpu/src/index.ts b/packages/google-cloud-tpu/src/index.ts new file mode 100644 index 00000000000..388fbb203e2 --- /dev/null +++ b/packages/google-cloud-tpu/src/index.ts @@ -0,0 +1,27 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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 synthtool. ** +// ** https://github.com/googleapis/synthtool ** +// ** All changes to this file may be overwritten. ** + +import * as v1 from './v1'; + +const TpuClient = v1.TpuClient; +type TpuClient = v1.TpuClient; + +export {v1, TpuClient}; +export default {v1, TpuClient}; +import * as protos from '../protos/protos'; +export {protos}; diff --git a/packages/google-cloud-tpu/src/v1/gapic_metadata.json b/packages/google-cloud-tpu/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..b15f377b942 --- /dev/null +++ b/packages/google-cloud-tpu/src/v1/gapic_metadata.json @@ -0,0 +1,145 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.tpu.v1", + "libraryPackage": "@google-cloud/tpu", + "services": { + "Tpu": { + "clients": { + "grpc": { + "libraryClient": "TpuClient", + "rpcs": { + "GetNode": { + "methods": [ + "getNode" + ] + }, + "GetTensorFlowVersion": { + "methods": [ + "getTensorFlowVersion" + ] + }, + "GetAcceleratorType": { + "methods": [ + "getAcceleratorType" + ] + }, + "CreateNode": { + "methods": [ + "createNode" + ] + }, + "DeleteNode": { + "methods": [ + "deleteNode" + ] + }, + "ReimageNode": { + "methods": [ + "reimageNode" + ] + }, + "StopNode": { + "methods": [ + "stopNode" + ] + }, + "StartNode": { + "methods": [ + "startNode" + ] + }, + "ListNodes": { + "methods": [ + "listNodes", + "listNodesStream", + "listNodesAsync" + ] + }, + "ListTensorFlowVersions": { + "methods": [ + "listTensorFlowVersions", + "listTensorFlowVersionsStream", + "listTensorFlowVersionsAsync" + ] + }, + "ListAcceleratorTypes": { + "methods": [ + "listAcceleratorTypes", + "listAcceleratorTypesStream", + "listAcceleratorTypesAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "TpuClient", + "rpcs": { + "GetNode": { + "methods": [ + "getNode" + ] + }, + "GetTensorFlowVersion": { + "methods": [ + "getTensorFlowVersion" + ] + }, + "GetAcceleratorType": { + "methods": [ + "getAcceleratorType" + ] + }, + "CreateNode": { + "methods": [ + "createNode" + ] + }, + "DeleteNode": { + "methods": [ + "deleteNode" + ] + }, + "ReimageNode": { + "methods": [ + "reimageNode" + ] + }, + "StopNode": { + "methods": [ + "stopNode" + ] + }, + "StartNode": { + "methods": [ + "startNode" + ] + }, + "ListNodes": { + "methods": [ + "listNodes", + "listNodesStream", + "listNodesAsync" + ] + }, + "ListTensorFlowVersions": { + "methods": [ + "listTensorFlowVersions", + "listTensorFlowVersionsStream", + "listTensorFlowVersionsAsync" + ] + }, + "ListAcceleratorTypes": { + "methods": [ + "listAcceleratorTypes", + "listAcceleratorTypesStream", + "listAcceleratorTypesAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-tpu/src/v1/index.ts b/packages/google-cloud-tpu/src/v1/index.ts new file mode 100644 index 00000000000..95996c1bc03 --- /dev/null +++ b/packages/google-cloud-tpu/src/v1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {TpuClient} from './tpu_client'; diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts new file mode 100644 index 00000000000..d38645388a2 --- /dev/null +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -0,0 +1,2223 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import * as gax from 'google-gax'; +import { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, + PaginationCallback, + GaxCall, +} from 'google-gax'; + +import {Transform} from 'stream'; +import {RequestType} from 'google-gax/build/src/apitypes'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1/tpu_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './tpu_client_config.json'; +import {operationsProtos} from 'google-gax'; +const version = require('../../../package.json').version; + +/** + * Manages TPU nodes and other resources + * + * TPU API v1 + * @class + * @memberof v1 + */ +export class TpuClient { + private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + operationsClient: gax.OperationsClient; + tpuStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of TpuClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. + */ + constructor(opts?: ClientOptions) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof TpuClient; + const servicePath = + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + acceleratorTypePathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/acceleratorTypes/{accelerator_type}' + ), + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + nodePathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/nodes/{node}' + ), + projectPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}' + ), + tensorFlowVersionPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/tensorFlowVersions/{tensor_flow_version}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listNodes: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'nodes' + ), + listTensorFlowVersions: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'tensorflowVersions' + ), + listAcceleratorTypes: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'acceleratorTypes' + ), + }; + + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + + this.operationsClient = this._gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const createNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.Node' + ) as gax.protobuf.Type; + const createNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.OperationMetadata' + ) as gax.protobuf.Type; + const deleteNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.Node' + ) as gax.protobuf.Type; + const deleteNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.OperationMetadata' + ) as gax.protobuf.Type; + const reimageNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.Node' + ) as gax.protobuf.Type; + const reimageNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.OperationMetadata' + ) as gax.protobuf.Type; + const stopNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.Node' + ) as gax.protobuf.Type; + const stopNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.OperationMetadata' + ) as gax.protobuf.Type; + const startNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.Node' + ) as gax.protobuf.Type; + const startNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v1.OperationMetadata' + ) as gax.protobuf.Type; + + this.descriptors.longrunning = { + createNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + createNodeResponse.decode.bind(createNodeResponse), + createNodeMetadata.decode.bind(createNodeMetadata) + ), + deleteNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + deleteNodeResponse.decode.bind(deleteNodeResponse), + deleteNodeMetadata.decode.bind(deleteNodeMetadata) + ), + reimageNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + reimageNodeResponse.decode.bind(reimageNodeResponse), + reimageNodeMetadata.decode.bind(reimageNodeMetadata) + ), + stopNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + stopNodeResponse.decode.bind(stopNodeResponse), + stopNodeMetadata.decode.bind(stopNodeMetadata) + ), + startNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + startNodeResponse.decode.bind(startNodeResponse), + startNodeMetadata.decode.bind(startNodeMetadata) + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.tpu.v1.Tpu', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.tpuStub) { + return this.tpuStub; + } + + // Put together the "service stub" for + // google.cloud.tpu.v1.Tpu. + this.tpuStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.tpu.v1.Tpu' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.tpu.v1.Tpu, + this._opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const tpuStubMethods = [ + 'listNodes', + 'getNode', + 'createNode', + 'deleteNode', + 'reimageNode', + 'stopNode', + 'startNode', + 'listTensorFlowVersions', + 'getTensorFlowVersion', + 'listAcceleratorTypes', + 'getAcceleratorType', + ]; + for (const methodName of tpuStubMethods) { + const callPromise = this.tpuStub.then( + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const descriptor = + this.descriptors.page[methodName] || + this.descriptors.longrunning[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.tpuStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'tpu.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'tpu.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return ['https://www.googleapis.com/auth/cloud-platform']; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + getNode( + request: protos.google.cloud.tpu.v1.IGetNodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IGetNodeRequest | undefined, + {} | undefined + ] + >; + getNode( + request: protos.google.cloud.tpu.v1.IGetNodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IGetNodeRequest | null | undefined, + {} | null | undefined + > + ): void; + getNode( + request: protos.google.cloud.tpu.v1.IGetNodeRequest, + callback: Callback< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IGetNodeRequest | null | undefined, + {} | null | undefined + > + ): void; + /** + * Gets the details of a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Node]{@link google.cloud.tpu.v1.Node}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getNode(request); + */ + getNode( + request: protos.google.cloud.tpu.v1.IGetNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IGetNodeRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IGetNodeRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IGetNodeRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getNode(request, options, callback); + } + getTensorFlowVersion( + request: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v1.ITensorFlowVersion, + protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest | undefined, + {} | undefined + ] + >; + getTensorFlowVersion( + request: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v1.ITensorFlowVersion, + | protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getTensorFlowVersion( + request: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, + callback: Callback< + protos.google.cloud.tpu.v1.ITensorFlowVersion, + | protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest + | null + | undefined, + {} | null | undefined + > + ): void; + /** + * Gets TensorFlow Version. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getTensorFlowVersion(request); + */ + getTensorFlowVersion( + request: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v1.ITensorFlowVersion, + | protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v1.ITensorFlowVersion, + | protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v1.ITensorFlowVersion, + protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getTensorFlowVersion(request, options, callback); + } + getAcceleratorType( + request: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v1.IAcceleratorType, + protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest | undefined, + {} | undefined + ] + >; + getAcceleratorType( + request: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v1.IAcceleratorType, + protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest | null | undefined, + {} | null | undefined + > + ): void; + getAcceleratorType( + request: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, + callback: Callback< + protos.google.cloud.tpu.v1.IAcceleratorType, + protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest | null | undefined, + {} | null | undefined + > + ): void; + /** + * Gets AcceleratorType. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getAcceleratorType(request); + */ + getAcceleratorType( + request: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v1.IAcceleratorType, + | protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v1.IAcceleratorType, + protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v1.IAcceleratorType, + protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getAcceleratorType(request, options, callback); + } + + createNode( + request: protos.google.cloud.tpu.v1.ICreateNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + createNode( + request: protos.google.cloud.tpu.v1.ICreateNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + createNode( + request: protos.google.cloud.tpu.v1.ICreateNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Creates a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {string} request.nodeId + * The unqualified resource name. + * @param {google.cloud.tpu.v1.Node} request.node + * Required. The node. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.createNode(request); + * const [response] = await operation.promise(); + */ + createNode( + request: protos.google.cloud.tpu.v1.ICreateNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.createNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `createNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkCreateNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkCreateNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.createNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + >; + } + deleteNode( + request: protos.google.cloud.tpu.v1.IDeleteNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + deleteNode( + request: protos.google.cloud.tpu.v1.IDeleteNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteNode( + request: protos.google.cloud.tpu.v1.IDeleteNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Deletes a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.deleteNode(request); + * const [response] = await operation.promise(); + */ + deleteNode( + request: protos.google.cloud.tpu.v1.IDeleteNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.deleteNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `deleteNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkDeleteNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkDeleteNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.deleteNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + >; + } + reimageNode( + request: protos.google.cloud.tpu.v1.IReimageNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + reimageNode( + request: protos.google.cloud.tpu.v1.IReimageNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + reimageNode( + request: protos.google.cloud.tpu.v1.IReimageNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Reimages a node's OS. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {string} request.tensorflowVersion + * The version for reimage to create. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.reimageNode(request); + * const [response] = await operation.promise(); + */ + reimageNode( + request: protos.google.cloud.tpu.v1.IReimageNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.reimageNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `reimageNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkReimageNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkReimageNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.reimageNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + >; + } + stopNode( + request: protos.google.cloud.tpu.v1.IStopNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + stopNode( + request: protos.google.cloud.tpu.v1.IStopNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + stopNode( + request: protos.google.cloud.tpu.v1.IStopNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Stops a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.stopNode(request); + * const [response] = await operation.promise(); + */ + stopNode( + request: protos.google.cloud.tpu.v1.IStopNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.stopNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `stopNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkStopNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkStopNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.stopNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + >; + } + startNode( + request: protos.google.cloud.tpu.v1.IStartNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + startNode( + request: protos.google.cloud.tpu.v1.IStartNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + startNode( + request: protos.google.cloud.tpu.v1.IStartNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Starts a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.startNode(request); + * const [response] = await operation.promise(); + */ + startNode( + request: protos.google.cloud.tpu.v1.IStartNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.startNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `startNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkStartNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkStartNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.startNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v1.Node, + protos.google.cloud.tpu.v1.OperationMetadata + >; + } + listNodes( + request: protos.google.cloud.tpu.v1.IListNodesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v1.INode[], + protos.google.cloud.tpu.v1.IListNodesRequest | null, + protos.google.cloud.tpu.v1.IListNodesResponse + ] + >; + listNodes( + request: protos.google.cloud.tpu.v1.IListNodesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.tpu.v1.IListNodesRequest, + protos.google.cloud.tpu.v1.IListNodesResponse | null | undefined, + protos.google.cloud.tpu.v1.INode + > + ): void; + listNodes( + request: protos.google.cloud.tpu.v1.IListNodesRequest, + callback: PaginationCallback< + protos.google.cloud.tpu.v1.IListNodesRequest, + protos.google.cloud.tpu.v1.IListNodesResponse | null | undefined, + protos.google.cloud.tpu.v1.INode + > + ): void; + /** + * Lists nodes. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Node]{@link google.cloud.tpu.v1.Node}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listNodesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listNodes( + request: protos.google.cloud.tpu.v1.IListNodesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.tpu.v1.IListNodesRequest, + protos.google.cloud.tpu.v1.IListNodesResponse | null | undefined, + protos.google.cloud.tpu.v1.INode + >, + callback?: PaginationCallback< + protos.google.cloud.tpu.v1.IListNodesRequest, + protos.google.cloud.tpu.v1.IListNodesResponse | null | undefined, + protos.google.cloud.tpu.v1.INode + > + ): Promise< + [ + protos.google.cloud.tpu.v1.INode[], + protos.google.cloud.tpu.v1.IListNodesRequest | null, + protos.google.cloud.tpu.v1.IListNodesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.listNodes(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Node]{@link google.cloud.tpu.v1.Node} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listNodesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listNodesStream( + request?: protos.google.cloud.tpu.v1.IListNodesRequest, + options?: CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listNodes.createStream( + this.innerApiCalls.listNodes as gax.GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listNodes`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Node]{@link google.cloud.tpu.v1.Node}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listNodesAsync(request); + * for await (const response of iterable) { + * // process response + * } + */ + listNodesAsync( + request?: protos.google.cloud.tpu.v1.IListNodesRequest, + options?: CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listNodes.asyncIterate( + this.innerApiCalls['listNodes'] as GaxCall, + request as unknown as RequestType, + callSettings + ) as AsyncIterable; + } + listTensorFlowVersions( + request: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v1.ITensorFlowVersion[], + protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest | null, + protos.google.cloud.tpu.v1.IListTensorFlowVersionsResponse + ] + >; + listTensorFlowVersions( + request: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + | protos.google.cloud.tpu.v1.IListTensorFlowVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v1.ITensorFlowVersion + > + ): void; + listTensorFlowVersions( + request: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + callback: PaginationCallback< + protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + | protos.google.cloud.tpu.v1.IListTensorFlowVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v1.ITensorFlowVersion + > + ): void; + /** + * List TensorFlow versions supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listTensorFlowVersionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listTensorFlowVersions( + request: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + | protos.google.cloud.tpu.v1.IListTensorFlowVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v1.ITensorFlowVersion + >, + callback?: PaginationCallback< + protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + | protos.google.cloud.tpu.v1.IListTensorFlowVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v1.ITensorFlowVersion + > + ): Promise< + [ + protos.google.cloud.tpu.v1.ITensorFlowVersion[], + protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest | null, + protos.google.cloud.tpu.v1.IListTensorFlowVersionsResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.listTensorFlowVersions( + request, + options, + callback + ); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listTensorFlowVersionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listTensorFlowVersionsStream( + request?: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + options?: CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listTensorFlowVersions.createStream( + this.innerApiCalls.listTensorFlowVersions as gax.GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listTensorFlowVersions`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listTensorFlowVersionsAsync(request); + * for await (const response of iterable) { + * // process response + * } + */ + listTensorFlowVersionsAsync( + request?: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + options?: CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listTensorFlowVersions.asyncIterate( + this.innerApiCalls['listTensorFlowVersions'] as GaxCall, + request as unknown as RequestType, + callSettings + ) as AsyncIterable; + } + listAcceleratorTypes( + request: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v1.IAcceleratorType[], + protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest | null, + protos.google.cloud.tpu.v1.IListAcceleratorTypesResponse + ] + >; + listAcceleratorTypes( + request: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v1.IAcceleratorType + > + ): void; + listAcceleratorTypes( + request: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + callback: PaginationCallback< + protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v1.IAcceleratorType + > + ): void; + /** + * Lists accelerator types supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listAcceleratorTypesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listAcceleratorTypes( + request: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v1.IAcceleratorType + >, + callback?: PaginationCallback< + protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v1.IAcceleratorType + > + ): Promise< + [ + protos.google.cloud.tpu.v1.IAcceleratorType[], + protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest | null, + protos.google.cloud.tpu.v1.IListAcceleratorTypesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.listAcceleratorTypes(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listAcceleratorTypesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listAcceleratorTypesStream( + request?: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + options?: CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listAcceleratorTypes.createStream( + this.innerApiCalls.listAcceleratorTypes as gax.GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listAcceleratorTypes`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listAcceleratorTypesAsync(request); + * for await (const response of iterable) { + * // process response + * } + */ + listAcceleratorTypesAsync( + request?: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + options?: CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listAcceleratorTypes.asyncIterate( + this.innerApiCalls['listAcceleratorTypes'] as GaxCall, + request as unknown as RequestType, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified acceleratorType resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} accelerator_type + * @returns {string} Resource name string. + */ + acceleratorTypePath( + project: string, + location: string, + acceleratorType: string + ) { + return this.pathTemplates.acceleratorTypePathTemplate.render({ + project: project, + location: location, + accelerator_type: acceleratorType, + }); + } + + /** + * Parse the project from AcceleratorType resource. + * + * @param {string} acceleratorTypeName + * A fully-qualified path representing AcceleratorType resource. + * @returns {string} A string representing the project. + */ + matchProjectFromAcceleratorTypeName(acceleratorTypeName: string) { + return this.pathTemplates.acceleratorTypePathTemplate.match( + acceleratorTypeName + ).project; + } + + /** + * Parse the location from AcceleratorType resource. + * + * @param {string} acceleratorTypeName + * A fully-qualified path representing AcceleratorType resource. + * @returns {string} A string representing the location. + */ + matchLocationFromAcceleratorTypeName(acceleratorTypeName: string) { + return this.pathTemplates.acceleratorTypePathTemplate.match( + acceleratorTypeName + ).location; + } + + /** + * Parse the accelerator_type from AcceleratorType resource. + * + * @param {string} acceleratorTypeName + * A fully-qualified path representing AcceleratorType resource. + * @returns {string} A string representing the accelerator_type. + */ + matchAcceleratorTypeFromAcceleratorTypeName(acceleratorTypeName: string) { + return this.pathTemplates.acceleratorTypePathTemplate.match( + acceleratorTypeName + ).accelerator_type; + } + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified node resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} node + * @returns {string} Resource name string. + */ + nodePath(project: string, location: string, node: string) { + return this.pathTemplates.nodePathTemplate.render({ + project: project, + location: location, + node: node, + }); + } + + /** + * Parse the project from Node resource. + * + * @param {string} nodeName + * A fully-qualified path representing Node resource. + * @returns {string} A string representing the project. + */ + matchProjectFromNodeName(nodeName: string) { + return this.pathTemplates.nodePathTemplate.match(nodeName).project; + } + + /** + * Parse the location from Node resource. + * + * @param {string} nodeName + * A fully-qualified path representing Node resource. + * @returns {string} A string representing the location. + */ + matchLocationFromNodeName(nodeName: string) { + return this.pathTemplates.nodePathTemplate.match(nodeName).location; + } + + /** + * Parse the node from Node resource. + * + * @param {string} nodeName + * A fully-qualified path representing Node resource. + * @returns {string} A string representing the node. + */ + matchNodeFromNodeName(nodeName: string) { + return this.pathTemplates.nodePathTemplate.match(nodeName).node; + } + + /** + * Return a fully-qualified project resource name string. + * + * @param {string} project + * @returns {string} Resource name string. + */ + projectPath(project: string) { + return this.pathTemplates.projectPathTemplate.render({ + project: project, + }); + } + + /** + * Parse the project from Project resource. + * + * @param {string} projectName + * A fully-qualified path representing Project resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProjectName(projectName: string) { + return this.pathTemplates.projectPathTemplate.match(projectName).project; + } + + /** + * Return a fully-qualified tensorFlowVersion resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} tensor_flow_version + * @returns {string} Resource name string. + */ + tensorFlowVersionPath( + project: string, + location: string, + tensorFlowVersion: string + ) { + return this.pathTemplates.tensorFlowVersionPathTemplate.render({ + project: project, + location: location, + tensor_flow_version: tensorFlowVersion, + }); + } + + /** + * Parse the project from TensorFlowVersion resource. + * + * @param {string} tensorFlowVersionName + * A fully-qualified path representing TensorFlowVersion resource. + * @returns {string} A string representing the project. + */ + matchProjectFromTensorFlowVersionName(tensorFlowVersionName: string) { + return this.pathTemplates.tensorFlowVersionPathTemplate.match( + tensorFlowVersionName + ).project; + } + + /** + * Parse the location from TensorFlowVersion resource. + * + * @param {string} tensorFlowVersionName + * A fully-qualified path representing TensorFlowVersion resource. + * @returns {string} A string representing the location. + */ + matchLocationFromTensorFlowVersionName(tensorFlowVersionName: string) { + return this.pathTemplates.tensorFlowVersionPathTemplate.match( + tensorFlowVersionName + ).location; + } + + /** + * Parse the tensor_flow_version from TensorFlowVersion resource. + * + * @param {string} tensorFlowVersionName + * A fully-qualified path representing TensorFlowVersion resource. + * @returns {string} A string representing the tensor_flow_version. + */ + matchTensorFlowVersionFromTensorFlowVersionName( + tensorFlowVersionName: string + ) { + return this.pathTemplates.tensorFlowVersionPathTemplate.match( + tensorFlowVersionName + ).tensor_flow_version; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + this.initialize(); + if (!this._terminated) { + return this.tpuStub!.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-tpu/src/v1/tpu_client_config.json b/packages/google-cloud-tpu/src/v1/tpu_client_config.json new file mode 100644 index 00000000000..77bd991e873 --- /dev/null +++ b/packages/google-cloud-tpu/src/v1/tpu_client_config.json @@ -0,0 +1,81 @@ +{ + "interfaces": { + "google.cloud.tpu.v1.Tpu": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "ListNodes": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "CreateNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ReimageNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "StopNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "StartNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListTensorFlowVersions": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetTensorFlowVersion": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListAcceleratorTypes": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetAcceleratorType": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-tpu/src/v1/tpu_proto_list.json b/packages/google-cloud-tpu/src/v1/tpu_proto_list.json new file mode 100644 index 00000000000..c79018be060 --- /dev/null +++ b/packages/google-cloud-tpu/src/v1/tpu_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/tpu/v1/cloud_tpu.proto" +] diff --git a/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..70ace008da3 --- /dev/null +++ b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js @@ -0,0 +1,26 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const tpu = require('@google-cloud/tpu'); + +function main() { + const tpuClient = new tpu.TpuClient(); +} + +main(); diff --git a/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..9542e4e93a1 --- /dev/null +++ b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {TpuClient} from '@google-cloud/tpu'; + +// check that the client class type name can be used +function doStuffWithTpuClient(client: TpuClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const tpuClient = new TpuClient(); + doStuffWithTpuClient(tpuClient); +} + +main(); diff --git a/packages/google-cloud-tpu/system-test/install.ts b/packages/google-cloud-tpu/system-test/install.ts new file mode 100644 index 00000000000..d2d61c0396f --- /dev/null +++ b/packages/google-cloud-tpu/system-test/install.ts @@ -0,0 +1,51 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('📦 pack-n-play test', () => { + it('TypeScript code', async function () { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts' + ).toString(), + }, + }; + await packNTest(options); + }); + + it('JavaScript code', async function () { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync( + './system-test/fixtures/sample/src/index.js' + ).toString(), + }, + }; + await packNTest(options); + }); +}); diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts new file mode 100644 index 00000000000..7c7a0584cf5 --- /dev/null +++ b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts @@ -0,0 +1,2677 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as tpuModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf, LROperation, operationsProtos} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1.TpuClient', () => { + it('has servicePath', () => { + const servicePath = tpuModule.v1.TpuClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = tpuModule.v1.TpuClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = tpuModule.v1.TpuClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new tpuModule.v1.TpuClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new tpuModule.v1.TpuClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + await client.initialize(); + assert(client.tpuStub); + }); + + it('has close method', () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('getNode', () => { + it('invokes getNode without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v1.Node() + ); + client.innerApiCalls.getNode = stubSimpleCall(expectedResponse); + const [response] = await client.getNode(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getNode without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v1.Node() + ); + client.innerApiCalls.getNode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getNode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v1.INode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getNode with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getNode = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getNode(request), expectedError); + assert( + (client.innerApiCalls.getNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getTensorFlowVersion', () => { + it('invokes getTensorFlowVersion without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ); + client.innerApiCalls.getTensorFlowVersion = + stubSimpleCall(expectedResponse); + const [response] = await client.getTensorFlowVersion(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getTensorFlowVersion as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getTensorFlowVersion without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ); + client.innerApiCalls.getTensorFlowVersion = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getTensorFlowVersion( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v1.ITensorFlowVersion | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getTensorFlowVersion as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getTensorFlowVersion with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getTensorFlowVersion = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getTensorFlowVersion(request), expectedError); + assert( + (client.innerApiCalls.getTensorFlowVersion as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getAcceleratorType', () => { + it('invokes getAcceleratorType without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v1.AcceleratorType() + ); + client.innerApiCalls.getAcceleratorType = + stubSimpleCall(expectedResponse); + const [response] = await client.getAcceleratorType(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getAcceleratorType as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getAcceleratorType without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v1.AcceleratorType() + ); + client.innerApiCalls.getAcceleratorType = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getAcceleratorType( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v1.IAcceleratorType | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getAcceleratorType as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getAcceleratorType with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getAcceleratorType = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getAcceleratorType(request), expectedError); + assert( + (client.innerApiCalls.getAcceleratorType as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createNode', () => { + it('invokes createNode without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.createNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createNode without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createNode with call error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.createNode(request), expectedError); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createNode with LRO error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.createNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkCreateNodeProgress without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkCreateNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkCreateNodeProgress with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkCreateNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteNode', () => { + it('invokes deleteNode without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteNode without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteNode with call error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.deleteNode(request), expectedError); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteNode with LRO error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.deleteNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkDeleteNodeProgress without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkDeleteNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteNodeProgress with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkDeleteNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('reimageNode', () => { + it('invokes reimageNode without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ReimageNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.reimageNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.reimageNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.reimageNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes reimageNode without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ReimageNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.reimageNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.reimageNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.reimageNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes reimageNode with call error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ReimageNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.reimageNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.reimageNode(request), expectedError); + assert( + (client.innerApiCalls.reimageNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes reimageNode with LRO error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ReimageNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.reimageNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.reimageNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.reimageNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkReimageNodeProgress without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkReimageNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkReimageNodeProgress with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkReimageNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('stopNode', () => { + it('invokes stopNode without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.stopNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.stopNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes stopNode without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.stopNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.stopNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes stopNode with call error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.stopNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.stopNode(request), expectedError); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes stopNode with LRO error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.stopNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.stopNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkStopNodeProgress without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkStopNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkStopNodeProgress with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkStopNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('startNode', () => { + it('invokes startNode without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.startNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.startNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes startNode without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.startNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.startNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v1.INode, + protos.google.cloud.tpu.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes startNode with call error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.startNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.startNode(request), expectedError); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes startNode with LRO error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.startNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.startNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkStartNodeProgress without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkStartNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkStartNodeProgress with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkStartNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listNodes', () => { + it('invokes listNodes without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + ]; + client.innerApiCalls.listNodes = stubSimpleCall(expectedResponse); + const [response] = await client.listNodes(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listNodes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listNodes without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + ]; + client.innerApiCalls.listNodes = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listNodes( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v1.INode[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listNodes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listNodes with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listNodes = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listNodes(request), expectedError); + assert( + (client.innerApiCalls.listNodes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listNodesStream without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + ]; + client.descriptors.page.listNodes.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listNodesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v1.Node[] = []; + stream.on('data', (response: protos.google.cloud.tpu.v1.Node) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNodes, request) + ); + assert.strictEqual( + (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('invokes listNodesStream with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listNodes.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listNodesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v1.Node[] = []; + stream.on('data', (response: protos.google.cloud.tpu.v1.Node) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNodes, request) + ); + assert.strictEqual( + (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listNodes without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), + ]; + client.descriptors.page.listNodes.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.tpu.v1.INode[] = []; + const iterable = client.listNodesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listNodes with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listNodes.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listNodesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.tpu.v1.INode[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + }); + + describe('listTensorFlowVersions', () => { + it('invokes listTensorFlowVersions without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + ]; + client.innerApiCalls.listTensorFlowVersions = + stubSimpleCall(expectedResponse); + const [response] = await client.listTensorFlowVersions(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listTensorFlowVersions as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listTensorFlowVersions without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + ]; + client.innerApiCalls.listTensorFlowVersions = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listTensorFlowVersions( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v1.ITensorFlowVersion[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listTensorFlowVersions as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listTensorFlowVersions with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listTensorFlowVersions = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.listTensorFlowVersions(request), + expectedError + ); + assert( + (client.innerApiCalls.listTensorFlowVersions as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listTensorFlowVersionsStream without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + ]; + client.descriptors.page.listTensorFlowVersions.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listTensorFlowVersionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v1.TensorFlowVersion[] = []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v1.TensorFlowVersion) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + ( + client.descriptors.page.listTensorFlowVersions + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listTensorFlowVersions, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listTensorFlowVersions + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('invokes listTensorFlowVersionsStream with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listTensorFlowVersions.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listTensorFlowVersionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v1.TensorFlowVersion[] = []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v1.TensorFlowVersion) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + ( + client.descriptors.page.listTensorFlowVersions + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listTensorFlowVersions, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listTensorFlowVersions + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listTensorFlowVersions without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v1.TensorFlowVersion() + ), + ]; + client.descriptors.page.listTensorFlowVersions.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.tpu.v1.ITensorFlowVersion[] = []; + const iterable = client.listTensorFlowVersionsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listTensorFlowVersions + .asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listTensorFlowVersions + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listTensorFlowVersions with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listTensorFlowVersions.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listTensorFlowVersionsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.tpu.v1.ITensorFlowVersion[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listTensorFlowVersions + .asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listTensorFlowVersions + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + }); + + describe('listAcceleratorTypes', () => { + it('invokes listAcceleratorTypes without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + ]; + client.innerApiCalls.listAcceleratorTypes = + stubSimpleCall(expectedResponse); + const [response] = await client.listAcceleratorTypes(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listAcceleratorTypes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listAcceleratorTypes without error using callback', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + ]; + client.innerApiCalls.listAcceleratorTypes = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listAcceleratorTypes( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v1.IAcceleratorType[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listAcceleratorTypes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listAcceleratorTypes with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listAcceleratorTypes = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listAcceleratorTypes(request), expectedError); + assert( + (client.innerApiCalls.listAcceleratorTypes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listAcceleratorTypesStream without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + ]; + client.descriptors.page.listAcceleratorTypes.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listAcceleratorTypesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v1.AcceleratorType[] = []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v1.AcceleratorType) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listAcceleratorTypes, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('invokes listAcceleratorTypesStream with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listAcceleratorTypes.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listAcceleratorTypesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v1.AcceleratorType[] = []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v1.AcceleratorType) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listAcceleratorTypes, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listAcceleratorTypes without error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), + ]; + client.descriptors.page.listAcceleratorTypes.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.tpu.v1.IAcceleratorType[] = []; + const iterable = client.listAcceleratorTypesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listAcceleratorTypes with error', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listAcceleratorTypes.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listAcceleratorTypesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.tpu.v1.IAcceleratorType[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + }); + + describe('Path templates', () => { + describe('acceleratorType', () => { + const fakePath = '/rendered/path/acceleratorType'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + accelerator_type: 'acceleratorTypeValue', + }; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.acceleratorTypePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.acceleratorTypePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('acceleratorTypePath', () => { + const result = client.acceleratorTypePath( + 'projectValue', + 'locationValue', + 'acceleratorTypeValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromAcceleratorTypeName', () => { + const result = client.matchProjectFromAcceleratorTypeName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromAcceleratorTypeName', () => { + const result = client.matchLocationFromAcceleratorTypeName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchAcceleratorTypeFromAcceleratorTypeName', () => { + const result = + client.matchAcceleratorTypeFromAcceleratorTypeName(fakePath); + assert.strictEqual(result, 'acceleratorTypeValue'); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('node', () => { + const fakePath = '/rendered/path/node'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + node: 'nodeValue', + }; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.nodePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.nodePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('nodePath', () => { + const result = client.nodePath( + 'projectValue', + 'locationValue', + 'nodeValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.nodePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromNodeName', () => { + const result = client.matchProjectFromNodeName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.nodePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromNodeName', () => { + const result = client.matchLocationFromNodeName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.nodePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchNodeFromNodeName', () => { + const result = client.matchNodeFromNodeName(fakePath); + assert.strictEqual(result, 'nodeValue'); + assert( + (client.pathTemplates.nodePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('project', () => { + const fakePath = '/rendered/path/project'; + const expectedParameters = { + project: 'projectValue', + }; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.projectPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.projectPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('projectPath', () => { + const result = client.projectPath('projectValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.projectPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProjectName', () => { + const result = client.matchProjectFromProjectName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.projectPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('tensorFlowVersion', () => { + const fakePath = '/rendered/path/tensorFlowVersion'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + tensor_flow_version: 'tensorFlowVersionValue', + }; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.tensorFlowVersionPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.tensorFlowVersionPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('tensorFlowVersionPath', () => { + const result = client.tensorFlowVersionPath( + 'projectValue', + 'locationValue', + 'tensorFlowVersionValue' + ); + assert.strictEqual(result, fakePath); + assert( + ( + client.pathTemplates.tensorFlowVersionPathTemplate + .render as SinonStub + ) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromTensorFlowVersionName', () => { + const result = client.matchProjectFromTensorFlowVersionName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + ( + client.pathTemplates.tensorFlowVersionPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromTensorFlowVersionName', () => { + const result = client.matchLocationFromTensorFlowVersionName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + ( + client.pathTemplates.tensorFlowVersionPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchTensorFlowVersionFromTensorFlowVersionName', () => { + const result = + client.matchTensorFlowVersionFromTensorFlowVersionName(fakePath); + assert.strictEqual(result, 'tensorFlowVersionValue'); + assert( + ( + client.pathTemplates.tensorFlowVersionPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-tpu/tsconfig.json b/packages/google-cloud-tpu/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/packages/google-cloud-tpu/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/packages/google-cloud-tpu/webpack.config.js b/packages/google-cloud-tpu/webpack.config.js new file mode 100644 index 00000000000..3c4959a7050 --- /dev/null +++ b/packages/google-cloud-tpu/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'Tpu', + filename: './tpu.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader', + }, + ], + }, + mode: 'production', +}; From 8e1bc12bd76c90bc2188471b737a8edcf418a78b Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Wed, 9 Jun 2021 11:12:27 -0500 Subject: [PATCH 03/64] feat: initial samples and tests (#2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: initial samples and tests * fix: naming * 🦉 Updates from OwlBot * fix: update docker image * 🦉 Updates from OwlBot Co-authored-by: Owl Bot --- packages/google-cloud-tpu/README.md | 38 +++++++++++++- .../google-cloud-tpu/linkinator.config.json | 12 ++++- packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/README.md | 50 +++++++++++++++++++ .../google-cloud-tpu/samples/quickstart.js | 19 +++---- .../samples/test/quickstart.js | 16 ++---- 6 files changed, 111 insertions(+), 26 deletions(-) create mode 100644 packages/google-cloud-tpu/samples/README.md diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 8e5c2bd0287..b71c86d334d 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -32,8 +32,8 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. * [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) @@ -55,6 +55,40 @@ 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/nodejs-cloud-tpu/tree/master/samples) directory. Each sample's `README.md` has instructions for running its sample. + +| Sample | Source Code | Try it | +| --------------------------- | --------------------------------- | ------ | +| Quickstart | [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-tpu/linkinator.config.json b/packages/google-cloud-tpu/linkinator.config.json index 0947c2e0e5b..97b6eaaa0df 100644 --- a/packages/google-cloud-tpu/linkinator.config.json +++ b/packages/google-cloud-tpu/linkinator.config.json @@ -1 +1,11 @@ -{"recurse":true,"skip":["https://codecov.io/gh/googleapis/","www.googleapis.com","img.shields.io"],"silent":true,"concurrency":10} \ No newline at end of file +{ + "recurse": true, + "skip": [ + "https://github.com/googleapis/nodejs-cloud-tpu/blob/master/CHANGELOG.md", + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io" + ], + "silent": true, + "concurrency": 10 +} diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 59f9bd8670a..a1dcc965d38 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -2,7 +2,7 @@ "name": "@google-cloud/tpu", "version": "0.1.0", "description": "tpu client for Node.js", - "repository": "googleapis/googleapis/nodejs-cloud-tpu", + "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", "author": "Google LLC", "main": "build/src/index.js", diff --git a/packages/google-cloud-tpu/samples/README.md b/packages/google-cloud-tpu/samples/README.md new file mode 100644 index 00000000000..f6c3caae835 --- /dev/null +++ b/packages/google-cloud-tpu/samples/README.md @@ -0,0 +1,50 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `python -m synthtool`." +Google Cloud Platform logo + +# [Cloud TPU: Node.js Samples](https://github.com/googleapis/nodejs-cloud-tpu) + +[![Open in Cloud Shell][shell_img]][shell_link] + + + +## Table of Contents + +* [Before you begin](#before-you-begin) +* [Samples](#samples) + * [Quickstart](#quickstart) + +## Before you begin + +Before running the samples, make sure you've followed the steps outlined in +[Using the client library](https://github.com/googleapis/nodejs-cloud-tpu#using-the-client-library). + +`cd samples` + +`npm install` + +`cd ..` + +## Samples + + + +### Quickstart + +View the [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/samples/quickstart.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) + +__Usage:__ + + +`node samples/quickstart.js` + + + + + + +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png +[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/README.md +[product-docs]: https://cloud.google.com/tpu/ diff --git a/packages/google-cloud-tpu/samples/quickstart.js b/packages/google-cloud-tpu/samples/quickstart.js index 8ca95e33d92..5e679339f1f 100644 --- a/packages/google-cloud-tpu/samples/quickstart.js +++ b/packages/google-cloud-tpu/samples/quickstart.js @@ -13,8 +13,7 @@ 'use strict'; -async function main() { - +async function main(projectId, location) { // [START nodejs_cloud_tpu_quickstart] // Imports the Google Cloud client library @@ -26,17 +25,15 @@ async function main() { // const projectId = 'my-project' // Creates a client - // eslint-disable-next-line no-unused-vars - const client = new {TpuClient}(); + const client = new TpuClient(); - //TODO(library generator): write the actual function you will be testing - async function doSomething() { - console.log('DPE! Change this code so that it shows how to use the library! See comments below on structure.') - // const [thing] = await client.methodName({ - // }); - // console.info(thing); + async function listNodes() { + const nodes = await client.listNodes({ + parent: `projects/${projectId}/locations/${location}`, + }); + console.info(nodes); } - doSomething(); + listNodes(); // [END nodejs_cloud_tpu_quickstart] } diff --git a/packages/google-cloud-tpu/samples/test/quickstart.js b/packages/google-cloud-tpu/samples/test/quickstart.js index 61c095d22a6..36a1f2e968c 100644 --- a/packages/google-cloud-tpu/samples/test/quickstart.js +++ b/packages/google-cloud-tpu/samples/test/quickstart.js @@ -29,25 +29,19 @@ const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); const cwd = path.join(__dirname, '..'); -const client = new {TpuClient}(); +const client = new TpuClient(); describe('Quickstart', () => { - //TODO: remove this if not using the projectId - // eslint-disable-next-line no-unused-vars let projectId; before(async () => { - // eslint-disable-next-line no-unused-vars projectId = await client.getProjectId(); }); it('should run quickstart', async () => { - //TODO: remove this line - // eslint-disable-next-line no-unused-vars - const stdout = execSync( - `node ./quickstart.js`, - {cwd} - ); - //assert(stdout, stdout !== null); + const stdout = execSync(`node ./quickstart.js ${projectId} us-central1-a`, { + cwd, + }); + assert.match(stdout, /\[\]/); }); }); From 59279628bc708e054ccad11c5fae6579bcdc9dcc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 9 Jun 2021 18:18:02 +0200 Subject: [PATCH 04/64] chore(deps): update dependency sinon to v11 (#4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^10.0.0` -> `^11.0.0`](https://renovatebot.com/diffs/npm/sinon/10.0.0/11.1.1) | [![age](https://badges.renovateapi.com/packages/npm/sinon/11.1.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/11.1.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/11.1.1/compatibility-slim/10.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/11.1.1/confidence-slim/10.0.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v11.1.1`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1111--2021-05-26) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.1.0...v11.1.1) \================== - Fix [#​2379](https://togithub.com/sinonjs/sinon/issues/2379) by using v7 of supports-color ### [`v11.1.0`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1110--2021-05-25) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.0.0...v11.1.0) \================== - Add sinon.promise() implementation ([#​2369](https://togithub.com/sinonjs/sinon/issues/2369)) - Set wrappedMethod on getters/setters ([#​2378](https://togithub.com/sinonjs/sinon/issues/2378)) - \[Docs] Update fake-server usage & descriptions ([#​2365](https://togithub.com/sinonjs/sinon/issues/2365)) - Fake docs improvement ([#​2360](https://togithub.com/sinonjs/sinon/issues/2360)) - Update nise to 5.1.0 (fixed [#​2318](https://togithub.com/sinonjs/sinon/issues/2318)) ### [`v11.0.0`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1100--2021-05-24) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v10.0.1...v11.0.0) \================== - Explicitly use samsam 6.0.2 with fix for [#​2345](https://togithub.com/sinonjs/sinon/issues/2345) - Update most packages ([#​2371](https://togithub.com/sinonjs/sinon/issues/2371)) - Update compatibility docs ([#​2366](https://togithub.com/sinonjs/sinon/issues/2366)) - Update packages (includes breaking fake-timers change, see [#​2352](https://togithub.com/sinonjs/sinon/issues/2352)) - Warn of potential memory leaks ([#​2357](https://togithub.com/sinonjs/sinon/issues/2357)) - Fix clock test errors ### [`v10.0.1`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1001--2021-04-08) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v10.0.0...v10.0.1) \================== - Upgrade sinon components (bumps y18n to 4.0.1) - Bump y18n from 4.0.0 to 4.0.1
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index a1dcc965d38..3b67932bc70 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -54,7 +54,7 @@ "mocha": "^8.4.0", "null-loader": "^4.0.1", "pack-n-play": "^1.0.0-2", - "sinon": "^10.0.0", + "sinon": "^11.0.0", "ts-loader": "^9.1.2", "typescript": "^4.2.4", "webpack": "^5.36.2", From c32f27741efea033fb45aeb8d73349d05682b4e9 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 9 Jun 2021 14:16:12 -0500 Subject: [PATCH 05/64] chore: release 1.0.0 (#1) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: sofisl <55454395+sofisl@users.noreply.github.com> --- packages/google-cloud-tpu/CHANGELOG.md | 10 ++++++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-tpu/CHANGELOG.md diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md new file mode 100644 index 00000000000..e274de74c7c --- /dev/null +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +## 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/package.json b/packages/google-cloud-tpu/package.json index 3b67932bc70..f8d4bf25e76 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "0.1.0", + "version": "1.0.0", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index efa38299ee3..9dfb492ba8e 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^0.1.0" + "@google-cloud/tpu": "^1.0.0" }, "devDependencies": { "c8": "^7.1.0", From ba8e73159dc6bc35e4f31a0618eeac7dfddd9861 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 22 Jun 2021 20:22:18 +0000 Subject: [PATCH 06/64] fix: make request optional in all cases (#9) ... chore: update gapic-generator-ruby to the latest commit chore: release gapic-generator-typescript 1.5.0 Committer: @miraleung PiperOrigin-RevId: 380641501 Source-Link: https://github.com/googleapis/googleapis/commit/076f7e9f0b258bdb54338895d7251b202e8f0de3 Source-Link: https://github.com/googleapis/googleapis-gen/commit/27e4c88b4048e5f56508d4e1aa417d60a3380892 --- .../google-cloud-tpu/linkinator.config.json | 1 - .../google-cloud-tpu/src/v1/tpu_client.ts | 44 +++++++++---------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/packages/google-cloud-tpu/linkinator.config.json b/packages/google-cloud-tpu/linkinator.config.json index 97b6eaaa0df..29a223b6db6 100644 --- a/packages/google-cloud-tpu/linkinator.config.json +++ b/packages/google-cloud-tpu/linkinator.config.json @@ -1,7 +1,6 @@ { "recurse": true, "skip": [ - "https://github.com/googleapis/nodejs-cloud-tpu/blob/master/CHANGELOG.md", "https://codecov.io/gh/googleapis/", "www.googleapis.com", "img.shields.io" diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index d38645388a2..545bf098fcd 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -409,7 +409,7 @@ export class TpuClient { // -- Service calls -- // ------------------- getNode( - request: protos.google.cloud.tpu.v1.IGetNodeRequest, + request?: protos.google.cloud.tpu.v1.IGetNodeRequest, options?: CallOptions ): Promise< [ @@ -453,7 +453,7 @@ export class TpuClient { * const [response] = await client.getNode(request); */ getNode( - request: protos.google.cloud.tpu.v1.IGetNodeRequest, + request?: protos.google.cloud.tpu.v1.IGetNodeRequest, optionsOrCallback?: | CallOptions | Callback< @@ -492,7 +492,7 @@ export class TpuClient { return this.innerApiCalls.getNode(request, options, callback); } getTensorFlowVersion( - request: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, + request?: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, options?: CallOptions ): Promise< [ @@ -540,7 +540,7 @@ export class TpuClient { * const [response] = await client.getTensorFlowVersion(request); */ getTensorFlowVersion( - request: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, + request?: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, optionsOrCallback?: | CallOptions | Callback< @@ -583,7 +583,7 @@ export class TpuClient { return this.innerApiCalls.getTensorFlowVersion(request, options, callback); } getAcceleratorType( - request: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, + request?: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, options?: CallOptions ): Promise< [ @@ -627,7 +627,7 @@ export class TpuClient { * const [response] = await client.getAcceleratorType(request); */ getAcceleratorType( - request: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, + request?: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, optionsOrCallback?: | CallOptions | Callback< @@ -669,7 +669,7 @@ export class TpuClient { } createNode( - request: protos.google.cloud.tpu.v1.ICreateNodeRequest, + request?: protos.google.cloud.tpu.v1.ICreateNodeRequest, options?: CallOptions ): Promise< [ @@ -729,7 +729,7 @@ export class TpuClient { * const [response] = await operation.promise(); */ createNode( - request: protos.google.cloud.tpu.v1.ICreateNodeRequest, + request?: protos.google.cloud.tpu.v1.ICreateNodeRequest, optionsOrCallback?: | CallOptions | Callback< @@ -814,7 +814,7 @@ export class TpuClient { >; } deleteNode( - request: protos.google.cloud.tpu.v1.IDeleteNodeRequest, + request?: protos.google.cloud.tpu.v1.IDeleteNodeRequest, options?: CallOptions ): Promise< [ @@ -870,7 +870,7 @@ export class TpuClient { * const [response] = await operation.promise(); */ deleteNode( - request: protos.google.cloud.tpu.v1.IDeleteNodeRequest, + request?: protos.google.cloud.tpu.v1.IDeleteNodeRequest, optionsOrCallback?: | CallOptions | Callback< @@ -955,7 +955,7 @@ export class TpuClient { >; } reimageNode( - request: protos.google.cloud.tpu.v1.IReimageNodeRequest, + request?: protos.google.cloud.tpu.v1.IReimageNodeRequest, options?: CallOptions ): Promise< [ @@ -1013,7 +1013,7 @@ export class TpuClient { * const [response] = await operation.promise(); */ reimageNode( - request: protos.google.cloud.tpu.v1.IReimageNodeRequest, + request?: protos.google.cloud.tpu.v1.IReimageNodeRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1098,7 +1098,7 @@ export class TpuClient { >; } stopNode( - request: protos.google.cloud.tpu.v1.IStopNodeRequest, + request?: protos.google.cloud.tpu.v1.IStopNodeRequest, options?: CallOptions ): Promise< [ @@ -1154,7 +1154,7 @@ export class TpuClient { * const [response] = await operation.promise(); */ stopNode( - request: protos.google.cloud.tpu.v1.IStopNodeRequest, + request?: protos.google.cloud.tpu.v1.IStopNodeRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1239,7 +1239,7 @@ export class TpuClient { >; } startNode( - request: protos.google.cloud.tpu.v1.IStartNodeRequest, + request?: protos.google.cloud.tpu.v1.IStartNodeRequest, options?: CallOptions ): Promise< [ @@ -1295,7 +1295,7 @@ export class TpuClient { * const [response] = await operation.promise(); */ startNode( - request: protos.google.cloud.tpu.v1.IStartNodeRequest, + request?: protos.google.cloud.tpu.v1.IStartNodeRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1380,7 +1380,7 @@ export class TpuClient { >; } listNodes( - request: protos.google.cloud.tpu.v1.IListNodesRequest, + request?: protos.google.cloud.tpu.v1.IListNodesRequest, options?: CallOptions ): Promise< [ @@ -1431,7 +1431,7 @@ export class TpuClient { * for more details and examples. */ listNodes( - request: protos.google.cloud.tpu.v1.IListNodesRequest, + request?: protos.google.cloud.tpu.v1.IListNodesRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -1563,7 +1563,7 @@ export class TpuClient { ) as AsyncIterable; } listTensorFlowVersions( - request: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + request?: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, options?: CallOptions ): Promise< [ @@ -1622,7 +1622,7 @@ export class TpuClient { * for more details and examples. */ listTensorFlowVersions( - request: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, + request?: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -1770,7 +1770,7 @@ export class TpuClient { ) as AsyncIterable; } listAcceleratorTypes( - request: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + request?: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, options?: CallOptions ): Promise< [ @@ -1829,7 +1829,7 @@ export class TpuClient { * for more details and examples. */ listAcceleratorTypes( - request: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, + request?: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, optionsOrCallback?: | CallOptions | PaginationCallback< From 22ef5030539e169415a038439acda4522e6b5c5c Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 29 Jun 2021 11:27:07 -0400 Subject: [PATCH 07/64] fix(deps): google-gax v2.17.0 with mTLS (#13) --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index f8d4bf25e76..4149970b074 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -39,7 +39,7 @@ "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { - "google-gax": "^2.12.0" + "google-gax": "^2.17.0" }, "devDependencies": { "@types/mocha": "^8.2.2", From 14da7173d8abb3edc8d76d324c877bcf76c52e89 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 29 Jun 2021 15:52:40 +0000 Subject: [PATCH 08/64] chore: release 1.0.1 (#10) :robot: I have created a release \*beep\* \*boop\* --- ### [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)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-tpu/CHANGELOG.md | 8 ++++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index e274de74c7c..6a586799dfe 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +### [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 4149970b074..face7e0a5ed 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.0.0", + "version": "1.0.1", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index 9dfb492ba8e..dddc35ac833 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.0.0" + "@google-cloud/tpu": "^1.0.1" }, "devDependencies": { "c8": "^7.1.0", From db3650df0356eb16fecfcb4ce206ba2fe628042f Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 12 Jul 2021 17:48:33 -0400 Subject: [PATCH 09/64] fix(deps): google-gax v2.17.1 (#15) --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index face7e0a5ed..577bcdc0b2f 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -39,7 +39,7 @@ "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { - "google-gax": "^2.17.0" + "google-gax": "^2.17.1" }, "devDependencies": { "@types/mocha": "^8.2.2", From 583c256e5f65671d7d33c9e98d016b0ecb3b250e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 12 Jul 2021 22:34:22 +0000 Subject: [PATCH 10/64] chore: release 1.0.2 (#16) :robot: I have created a release \*beep\* \*boop\* --- ### [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)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index 6a586799dfe..0cdc784eadc 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 577bcdc0b2f..a4a25d4558d 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.0.1", + "version": "1.0.2", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index dddc35ac833..d5b99eaf163 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.0.1" + "@google-cloud/tpu": "^1.0.2" }, "devDependencies": { "c8": "^7.1.0", From 5b46d0bea034dea37eedc136a4e0a07ae9ebdbe1 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 16 Jul 2021 12:04:35 -0700 Subject: [PATCH 11/64] fix: Updating WORKSPACE files to use the newest version of the Typescript generator. (#17) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: Updating WORKSPACE files to use the newest version of the Typescript generator. Also removing the explicit generator tag for the IAMPolicy mixin for the kms and pubsub APIS as the generator will now read it from the .yaml file. PiperOrigin-RevId: 385101839 Source-Link: https://github.com/googleapis/googleapis/commit/80f404215a9346259db760d80d0671f28c433453 Source-Link: https://github.com/googleapis/googleapis-gen/commit/d3509d2520fb8db862129633f1cf8406d17454e1 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/master/packages/owl-bot/README.md Co-authored-by: Owl Bot --- packages/google-cloud-tpu/src/v1/tpu_client.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index 545bf098fcd..a41971d5564 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -51,6 +51,7 @@ const version = require('../../../package.json').version; export class TpuClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -62,6 +63,7 @@ export class TpuClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; @@ -106,6 +108,9 @@ export class TpuClient { const staticMembers = this.constructor as typeof TpuClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -278,6 +283,9 @@ export class TpuClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -306,7 +314,8 @@ export class TpuClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.tpu.v1.Tpu, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides From 37db6b7b7bc07f7b7483d8a0269512ebe4fcae3e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 16 Jul 2021 13:05:02 -0700 Subject: [PATCH 12/64] chore: release 1.0.3 (#18) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index 0cdc784eadc..a8a5afc1479 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index a4a25d4558d..c6dc1351670 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.0.2", + "version": "1.0.3", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index d5b99eaf163..2b9d00c9bf6 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.0.2" + "@google-cloud/tpu": "^1.0.3" }, "devDependencies": { "c8": "^7.1.0", From 024f18b9aafbb332f3786c011710b13dbe1556a4 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Wed, 4 Aug 2021 16:04:19 -0400 Subject: [PATCH 13/64] chore(nodejs): update client ref docs link in metadata (#23) --- packages/google-cloud-tpu/.repo-metadata.json | 3 +-- packages/google-cloud-tpu/README.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-tpu/.repo-metadata.json b/packages/google-cloud-tpu/.repo-metadata.json index 18daacfe184..115c3663000 100644 --- a/packages/google-cloud-tpu/.repo-metadata.json +++ b/packages/google-cloud-tpu/.repo-metadata.json @@ -2,7 +2,7 @@ "name": "tpu", "name_pretty": "Cloud TPU", "product_documentation": "https://cloud.google.com/tpu/", - "client_documentation": "https://cloud.google.com/tpu", + "client_documentation": "https://cloud.google.com/nodejs/docs/reference/tpu/latest", "issue_tracker": "https://github.com/googleapis/nodejs-cloud-tpu/issues", "release_level": "BETA", "language": "nodejs", @@ -12,4 +12,3 @@ "default_version": "v1", "requires_billing": true } - diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index b71c86d334d..0a3104037aa 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -145,7 +145,7 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/LICENSE) -[client-docs]: https://cloud.google.com/tpu +[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 From dd9a229bfaeba5f22c0f1a16978c826ddbd0b00d Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Tue, 10 Aug 2021 19:07:22 -0700 Subject: [PATCH 14/64] fix(build): migrate to using main branch (#25) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(build): migrate to using main branch * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- packages/google-cloud-tpu/README.md | 16 ++++++++-------- packages/google-cloud-tpu/samples/README.md | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 0a3104037aa..22a014e18d5 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -6,7 +6,7 @@ [![release level](https://img.shields.io/badge/release%20level-beta-yellow.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) -[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-cloud-tpu/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-cloud-tpu) +[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-cloud-tpu/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-cloud-tpu) @@ -15,7 +15,7 @@ tpu client for Node.js A comprehensive list of changes in each version may be found in -[the CHANGELOG](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/CHANGELOG.md). +[the CHANGELOG](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/CHANGELOG.md). * [Cloud TPU Node.js Client API Reference][client-docs] * [Cloud TPU Documentation][product-docs] @@ -84,11 +84,11 @@ listNodes(); ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-cloud-tpu/tree/master/samples) directory. Each sample's `README.md` has instructions for running its sample. +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-cloud-tpu/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Quickstart | [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | @@ -131,19 +131,19 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-cloud-tpu/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 template in this -[directory](https://github.com/googleapis/synthtool/tree/master/synthtool/gcp/templates/node_library). +to its templates in +[directory](https://github.com/googleapis/synthtool). ## License Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/LICENSE) +See [LICENSE](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/tpu/latest [product-docs]: https://cloud.google.com/tpu/ diff --git a/packages/google-cloud-tpu/samples/README.md b/packages/google-cloud-tpu/samples/README.md index f6c3caae835..73549a30cbe 100644 --- a/packages/google-cloud-tpu/samples/README.md +++ b/packages/google-cloud-tpu/samples/README.md @@ -31,7 +31,7 @@ Before running the samples, make sure you've followed the steps outlined in ### Quickstart -View the [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/master/samples/quickstart.js). +View the [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/samples/quickstart.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) From 87befe6e36b502e879ee5ca162e0383af811768f Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 11 Aug 2021 14:31:52 -0700 Subject: [PATCH 15/64] chore: release 1.0.4 (#26) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index a8a5afc1479..f229e641483 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index c6dc1351670..234a2cec12e 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.0.3", + "version": "1.0.4", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index 2b9d00c9bf6..b04113985f4 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.0.3" + "@google-cloud/tpu": "^1.0.4" }, "devDependencies": { "c8": "^7.1.0", From 2da3633f45f7b51102b9819e220bd80829b9ed90 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 16 Aug 2021 22:46:15 -0400 Subject: [PATCH 16/64] fix(deps): google-gax v2.24.1 (#27) --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 234a2cec12e..80eb4412398 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -39,7 +39,7 @@ "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { - "google-gax": "^2.17.1" + "google-gax": "^2.24.1" }, "devDependencies": { "@types/mocha": "^8.2.2", From 755b06ce30235ccb46dbb3e0b19a9e8d7ed68132 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 17 Aug 2021 17:18:38 +0000 Subject: [PATCH 17/64] chore: release 1.0.5 (#28) :robot: I have created a release \*beep\* \*boop\* --- ### [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)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index f229e641483..f4d0179a33b 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 80eb4412398..77f840ba513 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.0.4", + "version": "1.0.5", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index b04113985f4..62eaaace7e5 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.0.4" + "@google-cloud/tpu": "^1.0.5" }, "devDependencies": { "c8": "^7.1.0", From 3a65b8259489b0ac3069fec85aff4ef7de2324da Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 23 Aug 2021 18:30:35 +0000 Subject: [PATCH 18/64] feat: turns on self-signed JWT feature flag (#29) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 392067151 Source-Link: https://github.com/googleapis/googleapis/commit/06345f7b95c4b4a3ffe4303f1f2984ccc304b2e0 Source-Link: https://github.com/googleapis/googleapis-gen/commit/95882b37970e41e4cd51b22fa507cfd46dc7c4b6 --- packages/google-cloud-tpu/src/v1/tpu_client.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index a41971d5564..8b2a7e18e25 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -135,6 +135,12 @@ export class TpuClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -2225,6 +2231,7 @@ export class TpuClient { return this.tpuStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); From 8ceb3d43fe8e8101786046c80b6409aa6090f964 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 23 Aug 2021 18:50:33 +0000 Subject: [PATCH 19/64] chore: release 1.1.0 (#30) :robot: I have created a release \*beep\* \*boop\* --- ## [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)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index f4d0179a33b..2d72c55f609 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 77f840ba513..cf145d26d53 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.0.5", + "version": "1.1.0", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index 62eaaace7e5..4f521be420f 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.0.5" + "@google-cloud/tpu": "^1.1.0" }, "devDependencies": { "c8": "^7.1.0", From 9a49a008c86597fac2ea2ecbd66ad771384981c7 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 25 Aug 2021 13:05:19 -0700 Subject: [PATCH 20/64] fix: flag module as GA (#32) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: flag module as GA * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * Update .repo-metadata.json * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- packages/google-cloud-tpu/.repo-metadata.json | 2 +- packages/google-cloud-tpu/README.md | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/.repo-metadata.json b/packages/google-cloud-tpu/.repo-metadata.json index 115c3663000..a9fcb75f283 100644 --- a/packages/google-cloud-tpu/.repo-metadata.json +++ b/packages/google-cloud-tpu/.repo-metadata.json @@ -4,7 +4,7 @@ "product_documentation": "https://cloud.google.com/tpu/", "client_documentation": "https://cloud.google.com/nodejs/docs/reference/tpu/latest", "issue_tracker": "https://github.com/googleapis/nodejs-cloud-tpu/issues", - "release_level": "BETA", + "release_level": "ga", "language": "nodejs", "repo": "googleapis/nodejs-cloud-tpu", "distribution_name": "@google-cloud/tpu", diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 22a014e18d5..1fe53954683 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -4,7 +4,7 @@ # [Cloud TPU: Node.js Client](https://github.com/googleapis/nodejs-cloud-tpu) -[![release level](https://img.shields.io/badge/release%20level-beta-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages) +[![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-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) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-cloud-tpu/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-cloud-tpu) @@ -121,6 +121,12 @@ _Legacy Node.js versions are supported as a best effort:_ This library follows [Semantic Versioning](http://semver.org/). +This library is considered to be **General Availability (GA)**. This means it +is 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 **GA** libraries +are addressed with the highest priority. + From 6dcb2e5683f382dba3216b621f264b641d92fcd7 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 25 Aug 2021 20:10:32 +0000 Subject: [PATCH 21/64] chore: release 1.1.1 (#33) :robot: I have created a release \*beep\* \*boop\* --- ### [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)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index 2d72c55f609..d6cfb6c6541 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index cf145d26d53..c5ae132f8af 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.1.0", + "version": "1.1.1", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index 4f521be420f..4546503065e 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.1.0" + "@google-cloud/tpu": "^1.1.1" }, "devDependencies": { "c8": "^7.1.0", From 9a47e6e4b28d1d09892d4a56a73185dff057ea1d Mon Sep 17 00:00:00 2001 From: Jeffrey Rennie Date: Tue, 21 Sep 2021 11:10:22 -0700 Subject: [PATCH 22/64] chore: relocate owl bot post processor (#37) --- packages/google-cloud-tpu/.github/.OwlBot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/.github/.OwlBot.yaml b/packages/google-cloud-tpu/.github/.OwlBot.yaml index 64657c5d9a7..2714b09faab 100644 --- a/packages/google-cloud-tpu/.github/.OwlBot.yaml +++ b/packages/google-cloud-tpu/.github/.OwlBot.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. docker: - image: gcr.io/repo-automation-bots/owlbot-nodejs:latest + image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest deep-remove-regex: - /owl-bot-staging From a3ce9b138dea402a916c813d40d229602c3c1a05 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 14 Oct 2021 00:46:24 +0000 Subject: [PATCH 23/64] build(node): update deps used during postprocessing (#1243) (#42) --- packages/google-cloud-tpu/protos/protos.d.ts | 3 ++- packages/google-cloud-tpu/protos/protos.js | 7 +++++++ packages/google-cloud-tpu/protos/protos.json | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/protos/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts index 08acfa488ac..8cc7f53f47b 100644 --- a/packages/google-cloud-tpu/protos/protos.d.ts +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -2878,7 +2878,8 @@ export namespace google { OUTPUT_ONLY = 3, INPUT_ONLY = 4, IMMUTABLE = 5, - UNORDERED_LIST = 6 + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7 } /** Properties of a ResourceDescriptor. */ diff --git a/packages/google-cloud-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js index 6b5d4735b19..ec7715910be 100644 --- a/packages/google-cloud-tpu/protos/protos.js +++ b/packages/google-cloud-tpu/protos/protos.js @@ -6939,6 +6939,7 @@ * @property {number} INPUT_ONLY=4 INPUT_ONLY value * @property {number} IMMUTABLE=5 IMMUTABLE value * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value + * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value */ api.FieldBehavior = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -6949,6 +6950,7 @@ values[valuesById[4] = "INPUT_ONLY"] = 4; values[valuesById[5] = "IMMUTABLE"] = 5; values[valuesById[6] = "UNORDERED_LIST"] = 6; + values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7; return values; })(); @@ -13117,6 +13119,7 @@ case 4: case 5: case 6: + case 7: break; } } @@ -13221,6 +13224,10 @@ case 6: message[".google.api.fieldBehavior"][i] = 6; break; + case "NON_EMPTY_DEFAULT": + case 7: + message[".google.api.fieldBehavior"][i] = 7; + break; } } if (object[".google.api.resourceReference"] != null) { diff --git a/packages/google-cloud-tpu/protos/protos.json b/packages/google-cloud-tpu/protos/protos.json index 1c1d4022024..5116963e319 100644 --- a/packages/google-cloud-tpu/protos/protos.json +++ b/packages/google-cloud-tpu/protos/protos.json @@ -901,7 +901,8 @@ "OUTPUT_ONLY": 3, "INPUT_ONLY": 4, "IMMUTABLE": 5, - "UNORDERED_LIST": 6 + "UNORDERED_LIST": 6, + "NON_EMPTY_DEFAULT": 7 } }, "resourceReference": { @@ -1544,6 +1545,18 @@ ] ], "reserved": [ + [ + 4, + 4 + ], + [ + 5, + 5 + ], + [ + 6, + 6 + ], [ 8, 8 From 6207f89d672881f40d527de1c3f853a195228589 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 15:52:51 -0700 Subject: [PATCH 24/64] feat: TPU v2alpha1 public protos (#43) Committer: @rosbo PiperOrigin-RevId: 403400668 Source-Link: https://github.com/googleapis/googleapis/commit/8f48b9778f9f875ac1931acccb1ff7bada71a372 Source-Link: https://github.com/googleapis/googleapis-gen/commit/f966fd02bd0d248e9adeffe3bb2daa53bf44a252 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZjk2NmZkMDJiZDBkMjQ4ZTlhZGVmZmUzYmIyZGFhNTNiZjQ0YTI1MiJ9 --- .../google/cloud/tpu/v2alpha1/cloud_tpu.proto | 782 ++ packages/google-cloud-tpu/protos/protos.d.ts | 3790 +++++++ packages/google-cloud-tpu/protos/protos.js | 8936 +++++++++++++++++ packages/google-cloud-tpu/protos/protos.json | 975 ++ .../samples/generated/v1/tpu.create_node.js | 62 + .../samples/generated/v1/tpu.delete_node.js | 53 + .../generated/v1/tpu.get_accelerator_type.js | 52 + .../samples/generated/v1/tpu.get_node.js | 52 + .../v1/tpu.get_tensor_flow_version.js | 52 + .../v1/tpu.list_accelerator_types.js | 70 + .../samples/generated/v1/tpu.list_nodes.js | 62 + .../v1/tpu.list_tensor_flow_versions.js | 70 + .../samples/generated/v1/tpu.reimage_node.js | 55 + .../samples/generated/v1/tpu.start_node.js | 51 + .../samples/generated/v1/tpu.stop_node.js | 51 + .../generated/v2alpha1/tpu.create_node.js | 62 + .../generated/v2alpha1/tpu.delete_node.js | 53 + .../v2alpha1/tpu.generate_service_identity.js | 52 + .../v2alpha1/tpu.get_accelerator_type.js | 52 + .../v2alpha1/tpu.get_guest_attributes.js | 61 + .../generated/v2alpha1/tpu.get_node.js | 52 + .../v2alpha1/tpu.get_runtime_version.js | 52 + .../v2alpha1/tpu.list_accelerator_types.js | 70 + .../generated/v2alpha1/tpu.list_nodes.js | 62 + .../v2alpha1/tpu.list_runtime_versions.js | 70 + .../generated/v2alpha1/tpu.start_node.js | 51 + .../generated/v2alpha1/tpu.stop_node.js | 51 + .../generated/v2alpha1/tpu.update_node.js | 59 + packages/google-cloud-tpu/src/index.ts | 5 +- .../google-cloud-tpu/src/v1/tpu_client.ts | 18 +- .../src/v2alpha1/gapic_metadata.json | 165 + .../google-cloud-tpu/src/v2alpha1/index.ts | 19 + .../src/v2alpha1/tpu_client.ts | 2421 +++++ .../src/v2alpha1/tpu_client_config.json | 91 + .../src/v2alpha1/tpu_proto_list.json | 3 + .../test/gapic_tpu_v2alpha1.ts | 2870 ++++++ 36 files changed, 21444 insertions(+), 8 deletions(-) create mode 100644 packages/google-cloud-tpu/protos/google/cloud/tpu/v2alpha1/cloud_tpu.proto create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js create mode 100644 packages/google-cloud-tpu/src/v2alpha1/gapic_metadata.json create mode 100644 packages/google-cloud-tpu/src/v2alpha1/index.ts create mode 100644 packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts create mode 100644 packages/google-cloud-tpu/src/v2alpha1/tpu_client_config.json create mode 100644 packages/google-cloud-tpu/src/v2alpha1/tpu_proto_list.json create mode 100644 packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts 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..d805128fc1c --- /dev/null +++ b/packages/google-cloud-tpu/protos/google/cloud/tpu/v2alpha1/cloud_tpu.proto @@ -0,0 +1,782 @@ +// 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.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]; +} + +// 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; +} diff --git a/packages/google-cloud-tpu/protos/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts index 8cc7f53f47b..871b26a3999 100644 --- a/packages/google-cloud-tpu/protos/protos.d.ts +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -2525,6 +2525,3706 @@ export namespace google { } } } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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); + } + + /** 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[]; + + /** + * 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 }; + } + + 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + 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 }; + } + + /** 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 }; + } + } } } @@ -6624,6 +10324,96 @@ export namespace google { */ public toJSON(): { [k: string]: any }; } + + /** 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 }; + } } /** Namespace longrunning. */ diff --git a/packages/google-cloud-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js index ec7715910be..556bf8caa16 100644 --- a/packages/google-cloud-tpu/protos/protos.js +++ b/packages/google-cloud-tpu/protos/protos.js @@ -6009,6 +6009,8739 @@ 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); + }; + + 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); + }; + + 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); + }; + + 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) { + 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] : 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); + }; + + /** + * 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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 + */ + + /** + * 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; + + /** + * 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(); + 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; + 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; + } + } + 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) { + 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) { + 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) { + 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]); + } + } + 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; + } + 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] : 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] : 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] : 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); + } + 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); + }; + + /** + * 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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); + }; + + 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.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.ServiceIdentity} ServiceIdentity + */ + ServiceIdentity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.ServiceIdentity) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.ServiceIdentity(); + if (object.email != null) + message.email = String(object.email); + return message; + }; + + /** + * Creates a plain object from a ServiceIdentity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity + * @static + * @param {google.cloud.tpu.v2alpha1.ServiceIdentity} message ServiceIdentity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceIdentity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.email = ""; + if (message.email != null && message.hasOwnProperty("email")) + object.email = message.email; + return object; + }; + + /** + * Converts this ServiceIdentity to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity + * @instance + * @returns {Object.} JSON object + */ + ServiceIdentity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ServiceIdentity; + })(); + + v2alpha1.GenerateServiceIdentityRequest = (function() { + + /** + * Properties of a GenerateServiceIdentityRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IGenerateServiceIdentityRequest + * @property {string|null} [parent] GenerateServiceIdentityRequest parent + */ + + /** + * Constructs a new GenerateServiceIdentityRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a GenerateServiceIdentityRequest. + * @implements IGenerateServiceIdentityRequest + * @constructor + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest=} [properties] Properties to set + */ + function GenerateServiceIdentityRequest(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]]; + } + + /** + * GenerateServiceIdentityRequest parent. + * @member {string} parent + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @instance + */ + GenerateServiceIdentityRequest.prototype.parent = ""; + + /** + * Creates a new GenerateServiceIdentityRequest instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest instance + */ + GenerateServiceIdentityRequest.create = function create(properties) { + return new GenerateServiceIdentityRequest(properties); + }; + + /** + * Encodes the specified GenerateServiceIdentityRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest} message GenerateServiceIdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateServiceIdentityRequest.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); + return writer; + }; + + /** + * Encodes the specified GenerateServiceIdentityRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest} message GenerateServiceIdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateServiceIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @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.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateServiceIdentityRequest.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.GenerateServiceIdentityRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateServiceIdentityRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateServiceIdentityRequest message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateServiceIdentityRequest.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"; + return null; + }; + + /** + * Creates a GenerateServiceIdentityRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest + */ + GenerateServiceIdentityRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest(); + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from a GenerateServiceIdentityRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest} message GenerateServiceIdentityRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateServiceIdentityRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.parent = ""; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this GenerateServiceIdentityRequest to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @instance + * @returns {Object.} JSON object + */ + GenerateServiceIdentityRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenerateServiceIdentityRequest; + })(); + + v2alpha1.GenerateServiceIdentityResponse = (function() { + + /** + * Properties of a GenerateServiceIdentityResponse. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IGenerateServiceIdentityResponse + * @property {google.cloud.tpu.v2alpha1.IServiceIdentity|null} [identity] GenerateServiceIdentityResponse identity + */ + + /** + * Constructs a new GenerateServiceIdentityResponse. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a GenerateServiceIdentityResponse. + * @implements IGenerateServiceIdentityResponse + * @constructor + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse=} [properties] Properties to set + */ + function GenerateServiceIdentityResponse(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]]; + } + + /** + * GenerateServiceIdentityResponse identity. + * @member {google.cloud.tpu.v2alpha1.IServiceIdentity|null|undefined} identity + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @instance + */ + GenerateServiceIdentityResponse.prototype.identity = null; + + /** + * Creates a new GenerateServiceIdentityResponse instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse} GenerateServiceIdentityResponse instance + */ + GenerateServiceIdentityResponse.create = function create(properties) { + return new GenerateServiceIdentityResponse(properties); + }; + + /** + * Encodes the specified GenerateServiceIdentityResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse} message GenerateServiceIdentityResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateServiceIdentityResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) + $root.google.cloud.tpu.v2alpha1.ServiceIdentity.encode(message.identity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GenerateServiceIdentityResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse} message GenerateServiceIdentityResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateServiceIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateServiceIdentityResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @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.GenerateServiceIdentityResponse} GenerateServiceIdentityResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateServiceIdentityResponse.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.GenerateServiceIdentityResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identity = $root.google.cloud.tpu.v2alpha1.ServiceIdentity.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateServiceIdentityResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse} GenerateServiceIdentityResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateServiceIdentityResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateServiceIdentityResponse message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateServiceIdentityResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identity != null && message.hasOwnProperty("identity")) { + var error = $root.google.cloud.tpu.v2alpha1.ServiceIdentity.verify(message.identity); + if (error) + return "identity." + error; + } + return null; + }; + + /** + * Creates a GenerateServiceIdentityResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse} GenerateServiceIdentityResponse + */ + GenerateServiceIdentityResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse(); + if (object.identity != null) { + if (typeof object.identity !== "object") + throw TypeError(".google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse.identity: object expected"); + message.identity = $root.google.cloud.tpu.v2alpha1.ServiceIdentity.fromObject(object.identity); + } + return message; + }; + + /** + * Creates a plain object from a GenerateServiceIdentityResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse} message GenerateServiceIdentityResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateServiceIdentityResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.identity = null; + if (message.identity != null && message.hasOwnProperty("identity")) + object.identity = $root.google.cloud.tpu.v2alpha1.ServiceIdentity.toObject(message.identity, options); + return object; + }; + + /** + * Converts this GenerateServiceIdentityResponse to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @instance + * @returns {Object.} JSON object + */ + GenerateServiceIdentityResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GenerateServiceIdentityResponse; + })(); + + v2alpha1.AcceleratorType = (function() { + + /** + * Properties of an AcceleratorType. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IAcceleratorType + * @property {string|null} [name] AcceleratorType name + * @property {string|null} [type] AcceleratorType type + */ + + /** + * Constructs a new AcceleratorType. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents an AcceleratorType. + * @implements IAcceleratorType + * @constructor + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.AcceleratorType + * @instance + */ + AcceleratorType.prototype.name = ""; + + /** + * AcceleratorType type. + * @member {string} type + * @memberof google.cloud.tpu.v2alpha1.AcceleratorType + * @instance + */ + AcceleratorType.prototype.type = ""; + + /** + * Creates a new AcceleratorType instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.AcceleratorType + * @static + * @param {google.cloud.tpu.v2alpha1.IAcceleratorType=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.AcceleratorType} AcceleratorType instance + */ + AcceleratorType.create = function create(properties) { + return new AcceleratorType(properties); + }; + + /** + * Encodes the specified AcceleratorType message. Does not implicitly {@link google.cloud.tpu.v2alpha1.AcceleratorType.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.AcceleratorType + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.AcceleratorType.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.AcceleratorType + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.AcceleratorType + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.AcceleratorType + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.AcceleratorType} AcceleratorType + */ + AcceleratorType.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.AcceleratorType) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.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.v2alpha1.AcceleratorType + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.AcceleratorType + * @instance + * @returns {Object.} JSON object + */ + AcceleratorType.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AcceleratorType; + })(); + + v2alpha1.GetAcceleratorTypeRequest = (function() { + + /** + * Properties of a GetAcceleratorTypeRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IGetAcceleratorTypeRequest + * @property {string|null} [name] GetAcceleratorTypeRequest name + */ + + /** + * Constructs a new GetAcceleratorTypeRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a GetAcceleratorTypeRequest. + * @implements IGetAcceleratorTypeRequest + * @constructor + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.GetAcceleratorTypeRequest + * @instance + */ + GetAcceleratorTypeRequest.prototype.name = ""; + + /** + * Creates a new GetAcceleratorTypeRequest instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest} GetAcceleratorTypeRequest instance + */ + GetAcceleratorTypeRequest.create = function create(properties) { + return new GetAcceleratorTypeRequest(properties); + }; + + /** + * Encodes the specified GetAcceleratorTypeRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.GetAcceleratorTypeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.GetAcceleratorTypeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.GetAcceleratorTypeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest} GetAcceleratorTypeRequest + */ + GetAcceleratorTypeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.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.v2alpha1.GetAcceleratorTypeRequest + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.GetAcceleratorTypeRequest + * @instance + * @returns {Object.} JSON object + */ + GetAcceleratorTypeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetAcceleratorTypeRequest; + })(); + + v2alpha1.ListAcceleratorTypesRequest = (function() { + + /** + * Properties of a ListAcceleratorTypesRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @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.v2alpha1 + * @classdesc Represents a ListAcceleratorTypesRequest. + * @implements IListAcceleratorTypesRequest + * @constructor + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesRequest + * @instance + */ + ListAcceleratorTypesRequest.prototype.parent = ""; + + /** + * ListAcceleratorTypesRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest + * @instance + */ + ListAcceleratorTypesRequest.prototype.pageSize = 0; + + /** + * ListAcceleratorTypesRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest + * @instance + */ + ListAcceleratorTypesRequest.prototype.pageToken = ""; + + /** + * ListAcceleratorTypesRequest filter. + * @member {string} filter + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest + * @instance + */ + ListAcceleratorTypesRequest.prototype.filter = ""; + + /** + * ListAcceleratorTypesRequest orderBy. + * @member {string} orderBy + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest + * @instance + */ + ListAcceleratorTypesRequest.prototype.orderBy = ""; + + /** + * Creates a new ListAcceleratorTypesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest} ListAcceleratorTypesRequest instance + */ + ListAcceleratorTypesRequest.create = function create(properties) { + return new ListAcceleratorTypesRequest(properties); + }; + + /** + * Encodes the specified ListAcceleratorTypesRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.ListAcceleratorTypesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.ListAcceleratorTypesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest} ListAcceleratorTypesRequest + */ + ListAcceleratorTypesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesRequest + * @instance + * @returns {Object.} JSON object + */ + ListAcceleratorTypesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListAcceleratorTypesRequest; + })(); + + v2alpha1.ListAcceleratorTypesResponse = (function() { + + /** + * Properties of a ListAcceleratorTypesResponse. + * @memberof google.cloud.tpu.v2alpha1 + * @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.v2alpha1 + * @classdesc Represents a ListAcceleratorTypesResponse. + * @implements IListAcceleratorTypesResponse + * @constructor + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse + * @instance + */ + ListAcceleratorTypesResponse.prototype.acceleratorTypes = $util.emptyArray; + + /** + * ListAcceleratorTypesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse + * @instance + */ + ListAcceleratorTypesResponse.prototype.nextPageToken = ""; + + /** + * ListAcceleratorTypesResponse unreachable. + * @member {Array.} unreachable + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse + * @instance + */ + ListAcceleratorTypesResponse.prototype.unreachable = $util.emptyArray; + + /** + * Creates a new ListAcceleratorTypesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse} ListAcceleratorTypesResponse instance + */ + ListAcceleratorTypesResponse.create = function create(properties) { + return new ListAcceleratorTypesResponse(properties); + }; + + /** + * Encodes the specified ListAcceleratorTypesResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse} ListAcceleratorTypesResponse + */ + ListAcceleratorTypesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse(); + if (object.acceleratorTypes) { + if (!Array.isArray(object.acceleratorTypes)) + throw TypeError(".google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse.acceleratorTypes: object expected"); + message.acceleratorTypes[i] = $root.google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse + * @instance + * @returns {Object.} JSON object + */ + ListAcceleratorTypesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListAcceleratorTypesResponse; + })(); + + v2alpha1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.tpu.v2alpha1 + * @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.v2alpha1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.endTime = null; + + /** + * OperationMetadata target. + * @member {string} target + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.target = ""; + + /** + * OperationMetadata verb. + * @member {string} verb + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.verb = ""; + + /** + * OperationMetadata statusDetail. + * @member {string} statusDetail + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.statusDetail = ""; + + /** + * OperationMetadata cancelRequested. + * @member {boolean} cancelRequested + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.cancelRequested = false; + + /** + * OperationMetadata apiVersion. + * @member {string} apiVersion + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.apiVersion = ""; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @static + * @param {google.cloud.tpu.v2alpha1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.tpu.v2alpha1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.OperationMetadata + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.OperationMetadata) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.OperationMetadata(); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.OperationMetadata + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OperationMetadata; + })(); + + v2alpha1.RuntimeVersion = (function() { + + /** + * Properties of a RuntimeVersion. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IRuntimeVersion + * @property {string|null} [name] RuntimeVersion name + * @property {string|null} [version] RuntimeVersion version + */ + + /** + * Constructs a new RuntimeVersion. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a RuntimeVersion. + * @implements IRuntimeVersion + * @constructor + * @param {google.cloud.tpu.v2alpha1.IRuntimeVersion=} [properties] Properties to set + */ + function RuntimeVersion(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]]; + } + + /** + * RuntimeVersion name. + * @member {string} name + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @instance + */ + RuntimeVersion.prototype.name = ""; + + /** + * RuntimeVersion version. + * @member {string} version + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @instance + */ + RuntimeVersion.prototype.version = ""; + + /** + * Creates a new RuntimeVersion instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {google.cloud.tpu.v2alpha1.IRuntimeVersion=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.RuntimeVersion} RuntimeVersion instance + */ + RuntimeVersion.create = function create(properties) { + return new RuntimeVersion(properties); + }; + + /** + * Encodes the specified RuntimeVersion message. Does not implicitly {@link google.cloud.tpu.v2alpha1.RuntimeVersion.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {google.cloud.tpu.v2alpha1.IRuntimeVersion} message RuntimeVersion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RuntimeVersion.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 RuntimeVersion message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.RuntimeVersion.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {google.cloud.tpu.v2alpha1.IRuntimeVersion} message RuntimeVersion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RuntimeVersion.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RuntimeVersion message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @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.RuntimeVersion} RuntimeVersion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RuntimeVersion.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.RuntimeVersion(); + 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 RuntimeVersion message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.RuntimeVersion} RuntimeVersion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RuntimeVersion.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RuntimeVersion message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RuntimeVersion.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 RuntimeVersion message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.RuntimeVersion} RuntimeVersion + */ + RuntimeVersion.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.RuntimeVersion) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.RuntimeVersion(); + 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 RuntimeVersion message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {google.cloud.tpu.v2alpha1.RuntimeVersion} message RuntimeVersion + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RuntimeVersion.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 RuntimeVersion to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @instance + * @returns {Object.} JSON object + */ + RuntimeVersion.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RuntimeVersion; + })(); + + v2alpha1.GetRuntimeVersionRequest = (function() { + + /** + * Properties of a GetRuntimeVersionRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IGetRuntimeVersionRequest + * @property {string|null} [name] GetRuntimeVersionRequest name + */ + + /** + * Constructs a new GetRuntimeVersionRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a GetRuntimeVersionRequest. + * @implements IGetRuntimeVersionRequest + * @constructor + * @param {google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest=} [properties] Properties to set + */ + function GetRuntimeVersionRequest(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]]; + } + + /** + * GetRuntimeVersionRequest name. + * @member {string} name + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @instance + */ + GetRuntimeVersionRequest.prototype.name = ""; + + /** + * Creates a new GetRuntimeVersionRequest instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest} GetRuntimeVersionRequest instance + */ + GetRuntimeVersionRequest.create = function create(properties) { + return new GetRuntimeVersionRequest(properties); + }; + + /** + * Encodes the specified GetRuntimeVersionRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest} message GetRuntimeVersionRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRuntimeVersionRequest.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 GetRuntimeVersionRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest} message GetRuntimeVersionRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRuntimeVersionRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetRuntimeVersionRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @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.GetRuntimeVersionRequest} GetRuntimeVersionRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRuntimeVersionRequest.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.GetRuntimeVersionRequest(); + 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 GetRuntimeVersionRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest} GetRuntimeVersionRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRuntimeVersionRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetRuntimeVersionRequest message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetRuntimeVersionRequest.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 GetRuntimeVersionRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest} GetRuntimeVersionRequest + */ + GetRuntimeVersionRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetRuntimeVersionRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest} message GetRuntimeVersionRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetRuntimeVersionRequest.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 GetRuntimeVersionRequest to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @instance + * @returns {Object.} JSON object + */ + GetRuntimeVersionRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetRuntimeVersionRequest; + })(); + + v2alpha1.ListRuntimeVersionsRequest = (function() { + + /** + * Properties of a ListRuntimeVersionsRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IListRuntimeVersionsRequest + * @property {string|null} [parent] ListRuntimeVersionsRequest parent + * @property {number|null} [pageSize] ListRuntimeVersionsRequest pageSize + * @property {string|null} [pageToken] ListRuntimeVersionsRequest pageToken + * @property {string|null} [filter] ListRuntimeVersionsRequest filter + * @property {string|null} [orderBy] ListRuntimeVersionsRequest orderBy + */ + + /** + * Constructs a new ListRuntimeVersionsRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a ListRuntimeVersionsRequest. + * @implements IListRuntimeVersionsRequest + * @constructor + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest=} [properties] Properties to set + */ + function ListRuntimeVersionsRequest(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]]; + } + + /** + * ListRuntimeVersionsRequest parent. + * @member {string} parent + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @instance + */ + ListRuntimeVersionsRequest.prototype.parent = ""; + + /** + * ListRuntimeVersionsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @instance + */ + ListRuntimeVersionsRequest.prototype.pageSize = 0; + + /** + * ListRuntimeVersionsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @instance + */ + ListRuntimeVersionsRequest.prototype.pageToken = ""; + + /** + * ListRuntimeVersionsRequest filter. + * @member {string} filter + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @instance + */ + ListRuntimeVersionsRequest.prototype.filter = ""; + + /** + * ListRuntimeVersionsRequest orderBy. + * @member {string} orderBy + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @instance + */ + ListRuntimeVersionsRequest.prototype.orderBy = ""; + + /** + * Creates a new ListRuntimeVersionsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest} ListRuntimeVersionsRequest instance + */ + ListRuntimeVersionsRequest.create = function create(properties) { + return new ListRuntimeVersionsRequest(properties); + }; + + /** + * Encodes the specified ListRuntimeVersionsRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest} message ListRuntimeVersionsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRuntimeVersionsRequest.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 ListRuntimeVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest} message ListRuntimeVersionsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRuntimeVersionsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRuntimeVersionsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @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.ListRuntimeVersionsRequest} ListRuntimeVersionsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRuntimeVersionsRequest.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.ListRuntimeVersionsRequest(); + 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 ListRuntimeVersionsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest} ListRuntimeVersionsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRuntimeVersionsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRuntimeVersionsRequest message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRuntimeVersionsRequest.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 ListRuntimeVersionsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest} ListRuntimeVersionsRequest + */ + ListRuntimeVersionsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest(); + 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 ListRuntimeVersionsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest} message ListRuntimeVersionsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRuntimeVersionsRequest.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 ListRuntimeVersionsRequest to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @instance + * @returns {Object.} JSON object + */ + ListRuntimeVersionsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListRuntimeVersionsRequest; + })(); + + v2alpha1.ListRuntimeVersionsResponse = (function() { + + /** + * Properties of a ListRuntimeVersionsResponse. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IListRuntimeVersionsResponse + * @property {Array.|null} [runtimeVersions] ListRuntimeVersionsResponse runtimeVersions + * @property {string|null} [nextPageToken] ListRuntimeVersionsResponse nextPageToken + * @property {Array.|null} [unreachable] ListRuntimeVersionsResponse unreachable + */ + + /** + * Constructs a new ListRuntimeVersionsResponse. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a ListRuntimeVersionsResponse. + * @implements IListRuntimeVersionsResponse + * @constructor + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse=} [properties] Properties to set + */ + function ListRuntimeVersionsResponse(properties) { + this.runtimeVersions = []; + 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]]; + } + + /** + * ListRuntimeVersionsResponse runtimeVersions. + * @member {Array.} runtimeVersions + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @instance + */ + ListRuntimeVersionsResponse.prototype.runtimeVersions = $util.emptyArray; + + /** + * ListRuntimeVersionsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @instance + */ + ListRuntimeVersionsResponse.prototype.nextPageToken = ""; + + /** + * ListRuntimeVersionsResponse unreachable. + * @member {Array.} unreachable + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @instance + */ + ListRuntimeVersionsResponse.prototype.unreachable = $util.emptyArray; + + /** + * Creates a new ListRuntimeVersionsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse} ListRuntimeVersionsResponse instance + */ + ListRuntimeVersionsResponse.create = function create(properties) { + return new ListRuntimeVersionsResponse(properties); + }; + + /** + * Encodes the specified ListRuntimeVersionsResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse} message ListRuntimeVersionsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRuntimeVersionsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.runtimeVersions != null && message.runtimeVersions.length) + for (var i = 0; i < message.runtimeVersions.length; ++i) + $root.google.cloud.tpu.v2alpha1.RuntimeVersion.encode(message.runtimeVersions[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 ListRuntimeVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse} message ListRuntimeVersionsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRuntimeVersionsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRuntimeVersionsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @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.ListRuntimeVersionsResponse} ListRuntimeVersionsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRuntimeVersionsResponse.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.ListRuntimeVersionsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.runtimeVersions && message.runtimeVersions.length)) + message.runtimeVersions = []; + message.runtimeVersions.push($root.google.cloud.tpu.v2alpha1.RuntimeVersion.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 ListRuntimeVersionsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse} ListRuntimeVersionsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRuntimeVersionsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRuntimeVersionsResponse message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRuntimeVersionsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.runtimeVersions != null && message.hasOwnProperty("runtimeVersions")) { + if (!Array.isArray(message.runtimeVersions)) + return "runtimeVersions: array expected"; + for (var i = 0; i < message.runtimeVersions.length; ++i) { + var error = $root.google.cloud.tpu.v2alpha1.RuntimeVersion.verify(message.runtimeVersions[i]); + if (error) + return "runtimeVersions." + 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 ListRuntimeVersionsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse} ListRuntimeVersionsResponse + */ + ListRuntimeVersionsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse(); + if (object.runtimeVersions) { + if (!Array.isArray(object.runtimeVersions)) + throw TypeError(".google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse.runtimeVersions: array expected"); + message.runtimeVersions = []; + for (var i = 0; i < object.runtimeVersions.length; ++i) { + if (typeof object.runtimeVersions[i] !== "object") + throw TypeError(".google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse.runtimeVersions: object expected"); + message.runtimeVersions[i] = $root.google.cloud.tpu.v2alpha1.RuntimeVersion.fromObject(object.runtimeVersions[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + if (object.unreachable) { + if (!Array.isArray(object.unreachable)) + throw TypeError(".google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse.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 ListRuntimeVersionsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse} message ListRuntimeVersionsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRuntimeVersionsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.runtimeVersions = []; + object.unreachable = []; + } + if (options.defaults) + object.nextPageToken = ""; + if (message.runtimeVersions && message.runtimeVersions.length) { + object.runtimeVersions = []; + for (var j = 0; j < message.runtimeVersions.length; ++j) + object.runtimeVersions[j] = $root.google.cloud.tpu.v2alpha1.RuntimeVersion.toObject(message.runtimeVersions[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 ListRuntimeVersionsResponse to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @instance + * @returns {Object.} JSON object + */ + ListRuntimeVersionsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListRuntimeVersionsResponse; + })(); + + v2alpha1.Symptom = (function() { + + /** + * Properties of a Symptom. + * @memberof google.cloud.tpu.v2alpha1 + * @interface ISymptom + * @property {google.protobuf.ITimestamp|null} [createTime] Symptom createTime + * @property {google.cloud.tpu.v2alpha1.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.v2alpha1 + * @classdesc Represents a Symptom. + * @implements ISymptom + * @constructor + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.Symptom + * @instance + */ + Symptom.prototype.createTime = null; + + /** + * Symptom symptomType. + * @member {google.cloud.tpu.v2alpha1.Symptom.SymptomType} symptomType + * @memberof google.cloud.tpu.v2alpha1.Symptom + * @instance + */ + Symptom.prototype.symptomType = 0; + + /** + * Symptom details. + * @member {string} details + * @memberof google.cloud.tpu.v2alpha1.Symptom + * @instance + */ + Symptom.prototype.details = ""; + + /** + * Symptom workerId. + * @member {string} workerId + * @memberof google.cloud.tpu.v2alpha1.Symptom + * @instance + */ + Symptom.prototype.workerId = ""; + + /** + * Creates a new Symptom instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.Symptom + * @static + * @param {google.cloud.tpu.v2alpha1.ISymptom=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.Symptom} Symptom instance + */ + Symptom.create = function create(properties) { + return new Symptom(properties); + }; + + /** + * Encodes the specified Symptom message. Does not implicitly {@link google.cloud.tpu.v2alpha1.Symptom.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.Symptom + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.Symptom.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.Symptom + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.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.v2alpha1.Symptom + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.Symptom + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.Symptom} Symptom + */ + Symptom.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.Symptom) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.Symptom(); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.tpu.v2alpha1.Symptom.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + switch (object.symptomType) { + 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.v2alpha1.Symptom + * @static + * @param {google.cloud.tpu.v2alpha1.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.v2alpha1.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.v2alpha1.Symptom + * @instance + * @returns {Object.} JSON object + */ + Symptom.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * SymptomType enum. + * @name google.cloud.tpu.v2alpha1.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; + })(); + + v2alpha1.GetGuestAttributesRequest = (function() { + + /** + * Properties of a GetGuestAttributesRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IGetGuestAttributesRequest + * @property {string|null} [name] GetGuestAttributesRequest name + * @property {string|null} [queryPath] GetGuestAttributesRequest queryPath + * @property {Array.|null} [workerIds] GetGuestAttributesRequest workerIds + */ + + /** + * Constructs a new GetGuestAttributesRequest. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a GetGuestAttributesRequest. + * @implements IGetGuestAttributesRequest + * @constructor + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest=} [properties] Properties to set + */ + function GetGuestAttributesRequest(properties) { + this.workerIds = []; + 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]]; + } + + /** + * GetGuestAttributesRequest name. + * @member {string} name + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @instance + */ + GetGuestAttributesRequest.prototype.name = ""; + + /** + * GetGuestAttributesRequest queryPath. + * @member {string} queryPath + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @instance + */ + GetGuestAttributesRequest.prototype.queryPath = ""; + + /** + * GetGuestAttributesRequest workerIds. + * @member {Array.} workerIds + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @instance + */ + GetGuestAttributesRequest.prototype.workerIds = $util.emptyArray; + + /** + * Creates a new GetGuestAttributesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.GetGuestAttributesRequest} GetGuestAttributesRequest instance + */ + GetGuestAttributesRequest.create = function create(properties) { + return new GetGuestAttributesRequest(properties); + }; + + /** + * Encodes the specified GetGuestAttributesRequest message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest} message GetGuestAttributesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetGuestAttributesRequest.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.queryPath != null && Object.hasOwnProperty.call(message, "queryPath")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.queryPath); + if (message.workerIds != null && message.workerIds.length) + for (var i = 0; i < message.workerIds.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.workerIds[i]); + return writer; + }; + + /** + * Encodes the specified GetGuestAttributesRequest message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest} message GetGuestAttributesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetGuestAttributesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetGuestAttributesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @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.GetGuestAttributesRequest} GetGuestAttributesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetGuestAttributesRequest.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.GetGuestAttributesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.queryPath = reader.string(); + break; + case 3: + if (!(message.workerIds && message.workerIds.length)) + message.workerIds = []; + message.workerIds.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetGuestAttributesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.GetGuestAttributesRequest} GetGuestAttributesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetGuestAttributesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetGuestAttributesRequest message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetGuestAttributesRequest.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.queryPath != null && message.hasOwnProperty("queryPath")) + if (!$util.isString(message.queryPath)) + return "queryPath: string expected"; + if (message.workerIds != null && message.hasOwnProperty("workerIds")) { + if (!Array.isArray(message.workerIds)) + return "workerIds: array expected"; + for (var i = 0; i < message.workerIds.length; ++i) + if (!$util.isString(message.workerIds[i])) + return "workerIds: string[] expected"; + } + return null; + }; + + /** + * Creates a GetGuestAttributesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.GetGuestAttributesRequest} GetGuestAttributesRequest + */ + GetGuestAttributesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.queryPath != null) + message.queryPath = String(object.queryPath); + if (object.workerIds) { + if (!Array.isArray(object.workerIds)) + throw TypeError(".google.cloud.tpu.v2alpha1.GetGuestAttributesRequest.workerIds: array expected"); + message.workerIds = []; + for (var i = 0; i < object.workerIds.length; ++i) + message.workerIds[i] = String(object.workerIds[i]); + } + return message; + }; + + /** + * Creates a plain object from a GetGuestAttributesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {google.cloud.tpu.v2alpha1.GetGuestAttributesRequest} message GetGuestAttributesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetGuestAttributesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.workerIds = []; + if (options.defaults) { + object.name = ""; + object.queryPath = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.queryPath != null && message.hasOwnProperty("queryPath")) + object.queryPath = message.queryPath; + if (message.workerIds && message.workerIds.length) { + object.workerIds = []; + for (var j = 0; j < message.workerIds.length; ++j) + object.workerIds[j] = message.workerIds[j]; + } + return object; + }; + + /** + * Converts this GetGuestAttributesRequest to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @instance + * @returns {Object.} JSON object + */ + GetGuestAttributesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetGuestAttributesRequest; + })(); + + v2alpha1.GetGuestAttributesResponse = (function() { + + /** + * Properties of a GetGuestAttributesResponse. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IGetGuestAttributesResponse + * @property {Array.|null} [guestAttributes] GetGuestAttributesResponse guestAttributes + */ + + /** + * Constructs a new GetGuestAttributesResponse. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a GetGuestAttributesResponse. + * @implements IGetGuestAttributesResponse + * @constructor + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse=} [properties] Properties to set + */ + function GetGuestAttributesResponse(properties) { + this.guestAttributes = []; + 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]]; + } + + /** + * GetGuestAttributesResponse guestAttributes. + * @member {Array.} guestAttributes + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @instance + */ + GetGuestAttributesResponse.prototype.guestAttributes = $util.emptyArray; + + /** + * Creates a new GetGuestAttributesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.GetGuestAttributesResponse} GetGuestAttributesResponse instance + */ + GetGuestAttributesResponse.create = function create(properties) { + return new GetGuestAttributesResponse(properties); + }; + + /** + * Encodes the specified GetGuestAttributesResponse message. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse} message GetGuestAttributesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetGuestAttributesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.guestAttributes != null && message.guestAttributes.length) + for (var i = 0; i < message.guestAttributes.length; ++i) + $root.google.cloud.tpu.v2alpha1.GuestAttributes.encode(message.guestAttributes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetGuestAttributesResponse message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.GetGuestAttributesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse} message GetGuestAttributesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetGuestAttributesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetGuestAttributesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @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.GetGuestAttributesResponse} GetGuestAttributesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetGuestAttributesResponse.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.GetGuestAttributesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.guestAttributes && message.guestAttributes.length)) + message.guestAttributes = []; + message.guestAttributes.push($root.google.cloud.tpu.v2alpha1.GuestAttributes.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetGuestAttributesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.GetGuestAttributesResponse} GetGuestAttributesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetGuestAttributesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetGuestAttributesResponse message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetGuestAttributesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.guestAttributes != null && message.hasOwnProperty("guestAttributes")) { + if (!Array.isArray(message.guestAttributes)) + return "guestAttributes: array expected"; + for (var i = 0; i < message.guestAttributes.length; ++i) { + var error = $root.google.cloud.tpu.v2alpha1.GuestAttributes.verify(message.guestAttributes[i]); + if (error) + return "guestAttributes." + error; + } + } + return null; + }; + + /** + * Creates a GetGuestAttributesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.GetGuestAttributesResponse} GetGuestAttributesResponse + */ + GetGuestAttributesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.GetGuestAttributesResponse) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.GetGuestAttributesResponse(); + if (object.guestAttributes) { + if (!Array.isArray(object.guestAttributes)) + throw TypeError(".google.cloud.tpu.v2alpha1.GetGuestAttributesResponse.guestAttributes: array expected"); + message.guestAttributes = []; + for (var i = 0; i < object.guestAttributes.length; ++i) { + if (typeof object.guestAttributes[i] !== "object") + throw TypeError(".google.cloud.tpu.v2alpha1.GetGuestAttributesResponse.guestAttributes: object expected"); + message.guestAttributes[i] = $root.google.cloud.tpu.v2alpha1.GuestAttributes.fromObject(object.guestAttributes[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GetGuestAttributesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {google.cloud.tpu.v2alpha1.GetGuestAttributesResponse} message GetGuestAttributesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetGuestAttributesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.guestAttributes = []; + if (message.guestAttributes && message.guestAttributes.length) { + object.guestAttributes = []; + for (var j = 0; j < message.guestAttributes.length; ++j) + object.guestAttributes[j] = $root.google.cloud.tpu.v2alpha1.GuestAttributes.toObject(message.guestAttributes[j], options); + } + return object; + }; + + /** + * Converts this GetGuestAttributesResponse to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @instance + * @returns {Object.} JSON object + */ + GetGuestAttributesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetGuestAttributesResponse; + })(); + + return v2alpha1; + })(); + return tpu; })(); @@ -17140,6 +25873,209 @@ return Timestamp; })(); + protobuf.FieldMask = (function() { + + /** + * Properties of a FieldMask. + * @memberof google.protobuf + * @interface IFieldMask + * @property {Array.|null} [paths] FieldMask paths + */ + + /** + * Constructs a new FieldMask. + * @memberof google.protobuf + * @classdesc Represents a FieldMask. + * @implements IFieldMask + * @constructor + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + */ + function FieldMask(properties) { + this.paths = []; + 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]]; + } + + /** + * FieldMask paths. + * @member {Array.} paths + * @memberof google.protobuf.FieldMask + * @instance + */ + FieldMask.prototype.paths = $util.emptyArray; + + /** + * Creates a new FieldMask instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + * @returns {google.protobuf.FieldMask} FieldMask instance + */ + FieldMask.create = function create(properties) { + return new FieldMask(properties); + }; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.paths != null && message.paths.length) + for (var i = 0; i < message.paths.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.paths[i]); + return writer; + }; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.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.protobuf.FieldMask(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.paths && message.paths.length)) + message.paths = []; + message.paths.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldMask message. + * @function verify + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldMask.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.paths != null && message.hasOwnProperty("paths")) { + if (!Array.isArray(message.paths)) + return "paths: array expected"; + for (var i = 0; i < message.paths.length; ++i) + if (!$util.isString(message.paths[i])) + return "paths: string[] expected"; + } + return null; + }; + + /** + * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldMask} FieldMask + */ + FieldMask.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldMask) + return object; + var message = new $root.google.protobuf.FieldMask(); + if (object.paths) { + if (!Array.isArray(object.paths)) + throw TypeError(".google.protobuf.FieldMask.paths: array expected"); + message.paths = []; + for (var i = 0; i < object.paths.length; ++i) + message.paths[i] = String(object.paths[i]); + } + return message; + }; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.FieldMask} message FieldMask + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldMask.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paths = []; + if (message.paths && message.paths.length) { + object.paths = []; + for (var j = 0; j < message.paths.length; ++j) + object.paths[j] = message.paths[j]; + } + return object; + }; + + /** + * Converts this FieldMask to JSON. + * @function toJSON + * @memberof google.protobuf.FieldMask + * @instance + * @returns {Object.} JSON object + */ + FieldMask.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FieldMask; + })(); + return protobuf; })(); diff --git a/packages/google-cloud-tpu/protos/protos.json b/packages/google-cloud-tpu/protos/protos.json index 5116963e319..db63670d013 100644 --- a/packages/google-cloud-tpu/protos/protos.json +++ b/packages/google-cloud-tpu/protos/protos.json @@ -769,6 +769,972 @@ } } } + }, + "v2alpha1": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/cloud/tpu/v2alpha1;tpu", + "java_multiple_files": true, + "java_outer_classname": "CloudTpuProto", + "java_package": "com.google.cloud.tpu.v2alpha1" + }, + "nested": { + "Tpu": { + "options": { + "(google.api.default_host)": "tpu.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, + "methods": { + "ListNodes": { + "requestType": "ListNodesRequest", + "responseType": "ListNodesResponse", + "options": { + "(google.api.http).get": "/v2alpha1/{parent=projects/*/locations/*}/nodes", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v2alpha1/{parent=projects/*/locations/*}/nodes" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetNode": { + "requestType": "GetNodeRequest", + "responseType": "Node", + "options": { + "(google.api.http).get": "/v2alpha1/{name=projects/*/locations/*/nodes/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v2alpha1/{name=projects/*/locations/*/nodes/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "CreateNode": { + "requestType": "CreateNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v2alpha1/{parent=projects/*/locations/*}/nodes", + "(google.api.http).body": "node", + "(google.api.method_signature)": "parent,node,node_id", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v2alpha1/{parent=projects/*/locations/*}/nodes", + "body": "node" + } + }, + { + "(google.api.method_signature)": "parent,node,node_id" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DeleteNode": { + "requestType": "DeleteNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).delete": "/v2alpha1/{name=projects/*/locations/*/nodes/*}", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v2alpha1/{name=projects/*/locations/*/nodes/*}" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "StopNode": { + "requestType": "StopNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v2alpha1/{name=projects/*/locations/*/nodes/*}:stop", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v2alpha1/{name=projects/*/locations/*/nodes/*}:stop", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "StartNode": { + "requestType": "StartNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v2alpha1/{name=projects/*/locations/*/nodes/*}:start", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v2alpha1/{name=projects/*/locations/*/nodes/*}:start", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "UpdateNode": { + "requestType": "UpdateNodeRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).patch": "/v2alpha1/{node.name=projects/*/locations/*/nodes/*}", + "(google.api.http).body": "node", + "(google.api.method_signature)": "node,update_mask", + "(google.longrunning.operation_info).response_type": "Node", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v2alpha1/{node.name=projects/*/locations/*/nodes/*}", + "body": "node" + } + }, + { + "(google.api.method_signature)": "node,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Node", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "GenerateServiceIdentity": { + "requestType": "GenerateServiceIdentityRequest", + "responseType": "GenerateServiceIdentityResponse", + "options": { + "(google.api.http).post": "/v2alpha1/{parent=projects/*/locations/*}:generateServiceIdentity", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v2alpha1/{parent=projects/*/locations/*}:generateServiceIdentity", + "body": "*" + } + } + ] + }, + "ListAcceleratorTypes": { + "requestType": "ListAcceleratorTypesRequest", + "responseType": "ListAcceleratorTypesResponse", + "options": { + "(google.api.http).get": "/v2alpha1/{parent=projects/*/locations/*}/acceleratorTypes", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v2alpha1/{parent=projects/*/locations/*}/acceleratorTypes" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetAcceleratorType": { + "requestType": "GetAcceleratorTypeRequest", + "responseType": "AcceleratorType", + "options": { + "(google.api.http).get": "/v2alpha1/{name=projects/*/locations/*/acceleratorTypes/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v2alpha1/{name=projects/*/locations/*/acceleratorTypes/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "ListRuntimeVersions": { + "requestType": "ListRuntimeVersionsRequest", + "responseType": "ListRuntimeVersionsResponse", + "options": { + "(google.api.http).get": "/v2alpha1/{parent=projects/*/locations/*}/runtimeVersions", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v2alpha1/{parent=projects/*/locations/*}/runtimeVersions" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetRuntimeVersion": { + "requestType": "GetRuntimeVersionRequest", + "responseType": "RuntimeVersion", + "options": { + "(google.api.http).get": "/v2alpha1/{name=projects/*/locations/*/runtimeVersions/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v2alpha1/{name=projects/*/locations/*/runtimeVersions/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "GetGuestAttributes": { + "requestType": "GetGuestAttributesRequest", + "responseType": "GetGuestAttributesResponse", + "options": { + "(google.api.http).post": "/v2alpha1/{name=projects/*/locations/*/nodes/*}:getGuestAttributes", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v2alpha1/{name=projects/*/locations/*/nodes/*}:getGuestAttributes", + "body": "*" + } + } + ] + } + } + }, + "GuestAttributes": { + "fields": { + "queryPath": { + "type": "string", + "id": 1 + }, + "queryValue": { + "type": "GuestAttributesValue", + "id": 2 + } + } + }, + "GuestAttributesValue": { + "fields": { + "items": { + "rule": "repeated", + "type": "GuestAttributesEntry", + "id": 1 + } + } + }, + "GuestAttributesEntry": { + "fields": { + "namespace": { + "type": "string", + "id": 1 + }, + "key": { + "type": "string", + "id": 2 + }, + "value": { + "type": "string", + "id": 3 + } + } + }, + "AttachedDisk": { + "fields": { + "sourceDisk": { + "type": "string", + "id": 3 + }, + "mode": { + "type": "DiskMode", + "id": 4 + } + }, + "nested": { + "DiskMode": { + "values": { + "DISK_MODE_UNSPECIFIED": 0, + "READ_WRITE": 1, + "READ_ONLY": 2 + } + } + } + }, + "SchedulingConfig": { + "fields": { + "preemptible": { + "type": "bool", + "id": 1 + }, + "reserved": { + "type": "bool", + "id": 2 + } + } + }, + "NetworkEndpoint": { + "fields": { + "ipAddress": { + "type": "string", + "id": 1 + }, + "port": { + "type": "int32", + "id": 2 + }, + "accessConfig": { + "type": "AccessConfig", + "id": 5 + } + } + }, + "AccessConfig": { + "fields": { + "externalIp": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "NetworkConfig": { + "fields": { + "network": { + "type": "string", + "id": 1 + }, + "subnetwork": { + "type": "string", + "id": 2 + }, + "enableExternalIps": { + "type": "bool", + "id": 3 + } + } + }, + "ServiceAccount": { + "fields": { + "email": { + "type": "string", + "id": 1 + }, + "scope": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "Node": { + "options": { + "(google.api.resource).type": "tpu.googleapis.com/Node", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/nodes/{node}" + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "description": { + "type": "string", + "id": 3 + }, + "acceleratorType": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "state": { + "type": "State", + "id": 9, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "healthDescription": { + "type": "string", + "id": 10, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "runtimeVersion": { + "type": "string", + "id": 11, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "networkConfig": { + "type": "NetworkConfig", + "id": 36 + }, + "cidrBlock": { + "type": "string", + "id": 13 + }, + "serviceAccount": { + "type": "ServiceAccount", + "id": 37 + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 16, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "schedulingConfig": { + "type": "SchedulingConfig", + "id": 17 + }, + "networkEndpoints": { + "rule": "repeated", + "type": "NetworkEndpoint", + "id": 21, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "health": { + "type": "Health", + "id": 22 + }, + "labels": { + "keyType": "string", + "type": "string", + "id": 24 + }, + "metadata": { + "keyType": "string", + "type": "string", + "id": 34 + }, + "tags": { + "rule": "repeated", + "type": "string", + "id": 40 + }, + "id": { + "type": "int64", + "id": 33, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dataDisks": { + "rule": "repeated", + "type": "AttachedDisk", + "id": 41 + }, + "apiVersion": { + "type": "ApiVersion", + "id": 38, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "symptoms": { + "rule": "repeated", + "type": "Symptom", + "id": 39, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "State": { + "values": { + "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": { + "values": { + "HEALTH_UNSPECIFIED": 0, + "HEALTHY": 1, + "TIMEOUT": 3, + "UNHEALTHY_TENSORFLOW": 4, + "UNHEALTHY_MAINTENANCE": 5 + } + }, + "ApiVersion": { + "values": { + "API_VERSION_UNSPECIFIED": 0, + "V1_ALPHA1": 1, + "V1": 2, + "V2_ALPHA1": 3 + } + } + } + }, + "ListNodesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/Node" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListNodesResponse": { + "fields": { + "nodes": { + "rule": "repeated", + "type": "Node", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + }, + "unreachable": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "GetNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/Node" + } + } + } + }, + "CreateNodeRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "nodeId": { + "type": "string", + "id": 2 + }, + "node": { + "type": "Node", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "DeleteNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/Node" + } + } + } + }, + "StopNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "StartNodeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateNodeRequest": { + "fields": { + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "node": { + "type": "Node", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ServiceIdentity": { + "fields": { + "email": { + "type": "string", + "id": 1 + } + } + }, + "GenerateServiceIdentityRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "GenerateServiceIdentityResponse": { + "fields": { + "identity": { + "type": "ServiceIdentity", + "id": 1 + } + } + }, + "AcceleratorType": { + "options": { + "(google.api.resource).type": "tpu.googleapis.com/AcceleratorType", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/acceleratorTypes/{accelerator_type}" + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "type": { + "type": "string", + "id": 2 + } + } + }, + "GetAcceleratorTypeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/AcceleratorType" + } + } + } + }, + "ListAcceleratorTypesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/AcceleratorType" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 5 + }, + "orderBy": { + "type": "string", + "id": 6 + } + } + }, + "ListAcceleratorTypesResponse": { + "fields": { + "acceleratorTypes": { + "rule": "repeated", + "type": "AcceleratorType", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + }, + "unreachable": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "OperationMetadata": { + "fields": { + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "target": { + "type": "string", + "id": 3 + }, + "verb": { + "type": "string", + "id": 4 + }, + "statusDetail": { + "type": "string", + "id": 5 + }, + "cancelRequested": { + "type": "bool", + "id": 6 + }, + "apiVersion": { + "type": "string", + "id": 7 + } + } + }, + "RuntimeVersion": { + "options": { + "(google.api.resource).type": "tpu.googleapis.com/RuntimeVersion", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/runtimeVersions/{runtime_version}" + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "version": { + "type": "string", + "id": 2 + } + } + }, + "GetRuntimeVersionRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/RuntimeVersion" + } + } + } + }, + "ListRuntimeVersionsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/RuntimeVersion" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 5 + }, + "orderBy": { + "type": "string", + "id": 6 + } + } + }, + "ListRuntimeVersionsResponse": { + "fields": { + "runtimeVersions": { + "rule": "repeated", + "type": "RuntimeVersion", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + }, + "unreachable": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "Symptom": { + "fields": { + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "symptomType": { + "type": "SymptomType", + "id": 2 + }, + "details": { + "type": "string", + "id": 3 + }, + "workerId": { + "type": "string", + "id": 4 + } + }, + "nested": { + "SymptomType": { + "values": { + "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 + } + } + } + }, + "GetGuestAttributesRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "tpu.googleapis.com/Node" + } + }, + "queryPath": { + "type": "string", + "id": 2 + }, + "workerIds": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "GetGuestAttributesResponse": { + "fields": { + "guestAttributes": { + "rule": "repeated", + "type": "GuestAttributes", + "id": 1 + } + } + } + } } } } @@ -1929,6 +2895,15 @@ "id": 2 } } + }, + "FieldMask": { + "fields": { + "paths": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } } } }, diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js new file mode 100644 index 00000000000..eb31b9f0991 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js @@ -0,0 +1,62 @@ +// 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. + +'use strict'; + +function main(parent, node) { + // [START tpu_v1_generated_Tpu_CreateNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The unqualified resource name. + */ + // const nodeId = 'abc123' + /** + * Required. The node. + */ + // const node = '' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function createNode() { + // Construct request + const request = { + parent, + node, + }; + + // Run request + const [operation] = await tpuClient.createNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + createNode(); + // [END tpu_v1_generated_Tpu_CreateNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js new file mode 100644 index 00000000000..d7185b27897 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js @@ -0,0 +1,53 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v1_generated_Tpu_DeleteNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function deleteNode() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await tpuClient.deleteNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + deleteNode(); + // [END tpu_v1_generated_Tpu_DeleteNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js new file mode 100644 index 00000000000..74a495dbfc1 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js @@ -0,0 +1,52 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v1_generated_Tpu_GetAcceleratorType_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function getAcceleratorType() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await tpuClient.getAcceleratorType(request); + console.log(response); + } + + getAcceleratorType(); + // [END tpu_v1_generated_Tpu_GetAcceleratorType_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js new file mode 100644 index 00000000000..25769a1f20f --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js @@ -0,0 +1,52 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v1_generated_Tpu_GetNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function getNode() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await tpuClient.getNode(request); + console.log(response); + } + + getNode(); + // [END tpu_v1_generated_Tpu_GetNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js new file mode 100644 index 00000000000..8ba7aeadf43 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js @@ -0,0 +1,52 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v1_generated_Tpu_GetTensorFlowVersion_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function getTensorFlowVersion() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await tpuClient.getTensorFlowVersion(request); + console.log(response); + } + + getTensorFlowVersion(); + // [END tpu_v1_generated_Tpu_GetTensorFlowVersion_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js new file mode 100644 index 00000000000..5ba014171fd --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js @@ -0,0 +1,70 @@ +// 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. + +'use strict'; + +function main(parent) { + // [START tpu_v1_generated_Tpu_ListAcceleratorTypes_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. + */ + // const pageSize = 1234 + /** + * The next_page_token value returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + /** + * List filter. + */ + // const filter = 'abc123' + /** + * Sort results. + */ + // const orderBy = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function listAcceleratorTypes() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await tpuClient.listAcceleratorTypesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + listAcceleratorTypes(); + // [END tpu_v1_generated_Tpu_ListAcceleratorTypes_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js new file mode 100644 index 00000000000..39e173fdd2c --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js @@ -0,0 +1,62 @@ +// 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. + +'use strict'; + +function main(parent) { + // [START tpu_v1_generated_Tpu_ListNodes_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. + */ + // const pageSize = 1234 + /** + * The next_page_token value returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function listNodes() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await tpuClient.listNodesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + listNodes(); + // [END tpu_v1_generated_Tpu_ListNodes_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js new file mode 100644 index 00000000000..ea1cae5fc05 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js @@ -0,0 +1,70 @@ +// 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. + +'use strict'; + +function main(parent) { + // [START tpu_v1_generated_Tpu_ListTensorFlowVersions_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. + */ + // const pageSize = 1234 + /** + * The next_page_token value returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + /** + * List filter. + */ + // const filter = 'abc123' + /** + * Sort results. + */ + // const orderBy = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function listTensorFlowVersions() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await tpuClient.listTensorFlowVersionsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + listTensorFlowVersions(); + // [END tpu_v1_generated_Tpu_ListTensorFlowVersions_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js new file mode 100644 index 00000000000..5e9e2409394 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js @@ -0,0 +1,55 @@ +// 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. + +'use strict'; + +function main() { + // [START tpu_v1_generated_Tpu_ReimageNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name. + */ + // const name = 'abc123' + /** + * The version for reimage to create. + */ + // const tensorflowVersion = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function reimageNode() { + // Construct request + const request = {}; + + // Run request + const [operation] = await tpuClient.reimageNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + reimageNode(); + // [END tpu_v1_generated_Tpu_ReimageNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js new file mode 100644 index 00000000000..beecd52a8d0 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js @@ -0,0 +1,51 @@ +// 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. + +'use strict'; + +function main() { + // [START tpu_v1_generated_Tpu_StartNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function startNode() { + // Construct request + const request = {}; + + // Run request + const [operation] = await tpuClient.startNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + startNode(); + // [END tpu_v1_generated_Tpu_StartNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js new file mode 100644 index 00000000000..963173ecf98 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js @@ -0,0 +1,51 @@ +// 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. + +'use strict'; + +function main() { + // [START tpu_v1_generated_Tpu_StopNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function stopNode() { + // Construct request + const request = {}; + + // Run request + const [operation] = await tpuClient.stopNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + stopNode(); + // [END tpu_v1_generated_Tpu_StopNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js new file mode 100644 index 00000000000..507b72e7c25 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js @@ -0,0 +1,62 @@ +// 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. + +'use strict'; + +function main(parent, node) { + // [START tpu_v2alpha1_generated_Tpu_CreateNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The unqualified resource name. + */ + // const nodeId = 'abc123' + /** + * Required. The node. + */ + // const node = '' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function createNode() { + // Construct request + const request = { + parent, + node, + }; + + // Run request + const [operation] = await tpuClient.createNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + createNode(); + // [END tpu_v2alpha1_generated_Tpu_CreateNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js new file mode 100644 index 00000000000..c5ac7c60c14 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js @@ -0,0 +1,53 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v2alpha1_generated_Tpu_DeleteNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function deleteNode() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await tpuClient.deleteNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + deleteNode(); + // [END tpu_v2alpha1_generated_Tpu_DeleteNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js new file mode 100644 index 00000000000..d9bba662d66 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js @@ -0,0 +1,52 @@ +// 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. + +'use strict'; + +function main(parent) { + // [START tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function generateServiceIdentity() { + // Construct request + const request = { + parent, + }; + + // Run request + const response = await tpuClient.generateServiceIdentity(request); + console.log(response); + } + + generateServiceIdentity(); + // [END tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js new file mode 100644 index 00000000000..ee6a8d4d2a8 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js @@ -0,0 +1,52 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function getAcceleratorType() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await tpuClient.getAcceleratorType(request); + console.log(response); + } + + getAcceleratorType(); + // [END tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js new file mode 100644 index 00000000000..1284d2787df --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js @@ -0,0 +1,61 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + /** + * The guest attributes path to be queried. + */ + // const queryPath = 'abc123' + /** + * The 0-based worker ID. If it is empty, all workers' GuestAttributes will be + * returned. + */ + // const workerIds = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function getGuestAttributes() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await tpuClient.getGuestAttributes(request); + console.log(response); + } + + getGuestAttributes(); + // [END tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js new file mode 100644 index 00000000000..0d8473c5c90 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js @@ -0,0 +1,52 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v2alpha1_generated_Tpu_GetNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function getNode() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await tpuClient.getNode(request); + console.log(response); + } + + getNode(); + // [END tpu_v2alpha1_generated_Tpu_GetNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js new file mode 100644 index 00000000000..9e698f1a7f0 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js @@ -0,0 +1,52 @@ +// 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. + +'use strict'; + +function main(name) { + // [START tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function getRuntimeVersion() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await tpuClient.getRuntimeVersion(request); + console.log(response); + } + + getRuntimeVersion(); + // [END tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js new file mode 100644 index 00000000000..030fccf59dd --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js @@ -0,0 +1,70 @@ +// 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. + +'use strict'; + +function main(parent) { + // [START tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. + */ + // const pageSize = 1234 + /** + * The next_page_token value returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + /** + * List filter. + */ + // const filter = 'abc123' + /** + * Sort results. + */ + // const orderBy = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function listAcceleratorTypes() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await tpuClient.listAcceleratorTypesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + listAcceleratorTypes(); + // [END tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js new file mode 100644 index 00000000000..f3da5c19533 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js @@ -0,0 +1,62 @@ +// 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. + +'use strict'; + +function main(parent) { + // [START tpu_v2alpha1_generated_Tpu_ListNodes_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. + */ + // const pageSize = 1234 + /** + * The next_page_token value returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function listNodes() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await tpuClient.listNodesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + listNodes(); + // [END tpu_v2alpha1_generated_Tpu_ListNodes_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js new file mode 100644 index 00000000000..d4e013d5495 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js @@ -0,0 +1,70 @@ +// 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. + +'use strict'; + +function main(parent) { + // [START tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The parent resource name. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. + */ + // const pageSize = 1234 + /** + * The next_page_token value returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + /** + * List filter. + */ + // const filter = 'abc123' + /** + * Sort results. + */ + // const orderBy = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function listRuntimeVersions() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await tpuClient.listRuntimeVersionsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + listRuntimeVersions(); + // [END tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js new file mode 100644 index 00000000000..b5c8fe6bea9 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js @@ -0,0 +1,51 @@ +// 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. + +'use strict'; + +function main() { + // [START tpu_v2alpha1_generated_Tpu_StartNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function startNode() { + // Construct request + const request = {}; + + // Run request + const [operation] = await tpuClient.startNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + startNode(); + // [END tpu_v2alpha1_generated_Tpu_StartNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js new file mode 100644 index 00000000000..0d1994d9e26 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js @@ -0,0 +1,51 @@ +// 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. + +'use strict'; + +function main() { + // [START tpu_v2alpha1_generated_Tpu_StopNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name. + */ + // const name = 'abc123' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function stopNode() { + // Construct request + const request = {}; + + // Run request + const [operation] = await tpuClient.stopNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + stopNode(); + // [END tpu_v2alpha1_generated_Tpu_StopNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js new file mode 100644 index 00000000000..698039baa16 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js @@ -0,0 +1,59 @@ +// 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. + +'use strict'; + +function main(updateMask, node) { + // [START tpu_v2alpha1_generated_Tpu_UpdateNode_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Mask of fields from [Node][Tpu.Node] to update. + * Supported fields: None. + */ + // const updateMask = '' + /** + * Required. The node. Only fields specified in update_mask are updated. + */ + // const node = '' + + // Imports the Tpu library + const {TpuClient} = require('@google-cloud/tpu').v2alpha1; + + // Instantiates a client + const tpuClient = new TpuClient(); + + async function updateNode() { + // Construct request + const request = { + updateMask, + node, + }; + + // Run request + const [operation] = await tpuClient.updateNode(request); + const [response] = await operation.promise(); + console.log(response); + } + + updateNode(); + // [END tpu_v2alpha1_generated_Tpu_UpdateNode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-tpu/src/index.ts b/packages/google-cloud-tpu/src/index.ts index 388fbb203e2..0178790f2a9 100644 --- a/packages/google-cloud-tpu/src/index.ts +++ b/packages/google-cloud-tpu/src/index.ts @@ -17,11 +17,12 @@ // ** All changes to this file may be overwritten. ** import * as v1 from './v1'; +import * as v2alpha1 from './v2alpha1'; const TpuClient = v1.TpuClient; type TpuClient = v1.TpuClient; -export {v1, TpuClient}; -export default {v1, TpuClient}; +export {v1, v2alpha1, TpuClient}; +export default {v1, v2alpha1, TpuClient}; import * as protos from '../protos/protos'; export {protos}; diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index 8b2a7e18e25..c16cace7a4d 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -1519,7 +1519,8 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listNodes']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listNodes.createStream( this.innerApiCalls.listNodes as gax.GaxCall, @@ -1569,7 +1570,8 @@ export class TpuClient { parent: request.parent || '', }); options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listNodes']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listNodes.asyncIterate( this.innerApiCalls['listNodes'] as GaxCall, @@ -1722,7 +1724,8 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listTensorFlowVersions']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listTensorFlowVersions.createStream( this.innerApiCalls.listTensorFlowVersions as gax.GaxCall, @@ -1776,7 +1779,8 @@ export class TpuClient { parent: request.parent || '', }); options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listTensorFlowVersions']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listTensorFlowVersions.asyncIterate( this.innerApiCalls['listTensorFlowVersions'] as GaxCall, @@ -1925,7 +1929,8 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listAcceleratorTypes']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listAcceleratorTypes.createStream( this.innerApiCalls.listAcceleratorTypes as gax.GaxCall, @@ -1979,7 +1984,8 @@ export class TpuClient { parent: request.parent || '', }); options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listAcceleratorTypes']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listAcceleratorTypes.asyncIterate( this.innerApiCalls['listAcceleratorTypes'] as GaxCall, diff --git a/packages/google-cloud-tpu/src/v2alpha1/gapic_metadata.json b/packages/google-cloud-tpu/src/v2alpha1/gapic_metadata.json new file mode 100644 index 00000000000..d4f743c1646 --- /dev/null +++ b/packages/google-cloud-tpu/src/v2alpha1/gapic_metadata.json @@ -0,0 +1,165 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.tpu.v2alpha1", + "libraryPackage": "@google-cloud/tpu", + "services": { + "Tpu": { + "clients": { + "grpc": { + "libraryClient": "TpuClient", + "rpcs": { + "GetNode": { + "methods": [ + "getNode" + ] + }, + "GenerateServiceIdentity": { + "methods": [ + "generateServiceIdentity" + ] + }, + "GetAcceleratorType": { + "methods": [ + "getAcceleratorType" + ] + }, + "GetRuntimeVersion": { + "methods": [ + "getRuntimeVersion" + ] + }, + "GetGuestAttributes": { + "methods": [ + "getGuestAttributes" + ] + }, + "CreateNode": { + "methods": [ + "createNode" + ] + }, + "DeleteNode": { + "methods": [ + "deleteNode" + ] + }, + "StopNode": { + "methods": [ + "stopNode" + ] + }, + "StartNode": { + "methods": [ + "startNode" + ] + }, + "UpdateNode": { + "methods": [ + "updateNode" + ] + }, + "ListNodes": { + "methods": [ + "listNodes", + "listNodesStream", + "listNodesAsync" + ] + }, + "ListAcceleratorTypes": { + "methods": [ + "listAcceleratorTypes", + "listAcceleratorTypesStream", + "listAcceleratorTypesAsync" + ] + }, + "ListRuntimeVersions": { + "methods": [ + "listRuntimeVersions", + "listRuntimeVersionsStream", + "listRuntimeVersionsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "TpuClient", + "rpcs": { + "GetNode": { + "methods": [ + "getNode" + ] + }, + "GenerateServiceIdentity": { + "methods": [ + "generateServiceIdentity" + ] + }, + "GetAcceleratorType": { + "methods": [ + "getAcceleratorType" + ] + }, + "GetRuntimeVersion": { + "methods": [ + "getRuntimeVersion" + ] + }, + "GetGuestAttributes": { + "methods": [ + "getGuestAttributes" + ] + }, + "CreateNode": { + "methods": [ + "createNode" + ] + }, + "DeleteNode": { + "methods": [ + "deleteNode" + ] + }, + "StopNode": { + "methods": [ + "stopNode" + ] + }, + "StartNode": { + "methods": [ + "startNode" + ] + }, + "UpdateNode": { + "methods": [ + "updateNode" + ] + }, + "ListNodes": { + "methods": [ + "listNodes", + "listNodesStream", + "listNodesAsync" + ] + }, + "ListAcceleratorTypes": { + "methods": [ + "listAcceleratorTypes", + "listAcceleratorTypesStream", + "listAcceleratorTypesAsync" + ] + }, + "ListRuntimeVersions": { + "methods": [ + "listRuntimeVersions", + "listRuntimeVersionsStream", + "listRuntimeVersionsAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-tpu/src/v2alpha1/index.ts b/packages/google-cloud-tpu/src/v2alpha1/index.ts new file mode 100644 index 00000000000..95996c1bc03 --- /dev/null +++ b/packages/google-cloud-tpu/src/v2alpha1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {TpuClient} from './tpu_client'; diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts new file mode 100644 index 00000000000..de1649cfc1c --- /dev/null +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -0,0 +1,2421 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import * as gax from 'google-gax'; +import { + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, + PaginationCallback, + GaxCall, +} from 'google-gax'; + +import {Transform} from 'stream'; +import {RequestType} from 'google-gax/build/src/apitypes'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v2alpha1/tpu_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './tpu_client_config.json'; +import {operationsProtos} from 'google-gax'; +const version = require('../../../package.json').version; + +/** + * Manages TPU nodes and other resources + * + * TPU API v2alpha1 + * @class + * @memberof v2alpha1 + */ +export class TpuClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + operationsClient: gax.OperationsClient; + tpuStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of TpuClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. + */ + constructor(opts?: ClientOptions) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof TpuClient; + const servicePath = + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + acceleratorTypePathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/acceleratorTypes/{accelerator_type}' + ), + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + nodePathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/nodes/{node}' + ), + runtimeVersionPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/runtimeVersions/{runtime_version}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listNodes: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'nodes' + ), + listAcceleratorTypes: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'acceleratorTypes' + ), + listRuntimeVersions: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'runtimeVersions' + ), + }; + + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + + this.operationsClient = this._gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const createNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.Node' + ) as gax.protobuf.Type; + const createNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.OperationMetadata' + ) as gax.protobuf.Type; + const deleteNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.Node' + ) as gax.protobuf.Type; + const deleteNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.OperationMetadata' + ) as gax.protobuf.Type; + const stopNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.Node' + ) as gax.protobuf.Type; + const stopNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.OperationMetadata' + ) as gax.protobuf.Type; + const startNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.Node' + ) as gax.protobuf.Type; + const startNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.OperationMetadata' + ) as gax.protobuf.Type; + const updateNodeResponse = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.Node' + ) as gax.protobuf.Type; + const updateNodeMetadata = protoFilesRoot.lookup( + '.google.cloud.tpu.v2alpha1.OperationMetadata' + ) as gax.protobuf.Type; + + this.descriptors.longrunning = { + createNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + createNodeResponse.decode.bind(createNodeResponse), + createNodeMetadata.decode.bind(createNodeMetadata) + ), + deleteNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + deleteNodeResponse.decode.bind(deleteNodeResponse), + deleteNodeMetadata.decode.bind(deleteNodeMetadata) + ), + stopNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + stopNodeResponse.decode.bind(stopNodeResponse), + stopNodeMetadata.decode.bind(stopNodeMetadata) + ), + startNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + startNodeResponse.decode.bind(startNodeResponse), + startNodeMetadata.decode.bind(startNodeMetadata) + ), + updateNode: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + updateNodeResponse.decode.bind(updateNodeResponse), + updateNodeMetadata.decode.bind(updateNodeMetadata) + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.tpu.v2alpha1.Tpu', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.tpuStub) { + return this.tpuStub; + } + + // Put together the "service stub" for + // google.cloud.tpu.v2alpha1.Tpu. + this.tpuStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.tpu.v2alpha1.Tpu' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.tpu.v2alpha1.Tpu, + this._opts, + this._providedCustomServicePath + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const tpuStubMethods = [ + 'listNodes', + 'getNode', + 'createNode', + 'deleteNode', + 'stopNode', + 'startNode', + 'updateNode', + 'generateServiceIdentity', + 'listAcceleratorTypes', + 'getAcceleratorType', + 'listRuntimeVersions', + 'getRuntimeVersion', + 'getGuestAttributes', + ]; + for (const methodName of tpuStubMethods) { + const callPromise = this.tpuStub.then( + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const descriptor = + this.descriptors.page[methodName] || + this.descriptors.longrunning[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.tpuStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'tpu.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'tpu.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return ['https://www.googleapis.com/auth/cloud-platform']; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + getNode( + request?: protos.google.cloud.tpu.v2alpha1.IGetNodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IGetNodeRequest | undefined, + {} | undefined + ] + >; + getNode( + request: protos.google.cloud.tpu.v2alpha1.IGetNodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IGetNodeRequest | null | undefined, + {} | null | undefined + > + ): void; + getNode( + request: protos.google.cloud.tpu.v2alpha1.IGetNodeRequest, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IGetNodeRequest | null | undefined, + {} | null | undefined + > + ): void; + /** + * Gets the details of a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Node]{@link google.cloud.tpu.v2alpha1.Node}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getNode(request); + */ + getNode( + request?: protos.google.cloud.tpu.v2alpha1.IGetNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IGetNodeRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IGetNodeRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IGetNodeRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getNode(request, options, callback); + } + generateServiceIdentity( + request?: protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, + ( + | protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest + | undefined + ), + {} | undefined + ] + >; + generateServiceIdentity( + request: protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, + | protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest + | null + | undefined, + {} | null | undefined + > + ): void; + generateServiceIdentity( + request: protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, + | protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest + | null + | undefined, + {} | null | undefined + > + ): void; + /** + * Generates the Cloud TPU service identity for the project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [GenerateServiceIdentityResponse]{@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.generateServiceIdentity(request); + */ + generateServiceIdentity( + request?: protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, + | protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, + | protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse, + ( + | protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.generateServiceIdentity( + request, + options, + callback + ); + } + getAcceleratorType( + request?: protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IAcceleratorType, + protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest | undefined, + {} | undefined + ] + >; + getAcceleratorType( + request: protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IAcceleratorType, + | protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getAcceleratorType( + request: protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IAcceleratorType, + | protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + /** + * Gets AcceleratorType. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getAcceleratorType(request); + */ + getAcceleratorType( + request?: protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v2alpha1.IAcceleratorType, + | protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v2alpha1.IAcceleratorType, + | protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IAcceleratorType, + protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getAcceleratorType(request, options, callback); + } + getRuntimeVersion( + request?: protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion, + protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest | undefined, + {} | undefined + ] + >; + getRuntimeVersion( + request: protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion, + | protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getRuntimeVersion( + request: protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion, + | protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest + | null + | undefined, + {} | null | undefined + > + ): void; + /** + * Gets a runtime version. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getRuntimeVersion(request); + */ + getRuntimeVersion( + request?: protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion, + | protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion, + | protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion, + protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getRuntimeVersion(request, options, callback); + } + getGuestAttributes( + request?: protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest | undefined, + {} | undefined + ] + >; + getGuestAttributes( + request: protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, + | protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getGuestAttributes( + request: protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, + callback: Callback< + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, + | protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest + | null + | undefined, + {} | null | undefined + > + ): void; + /** + * Retrieves the guest attributes for the node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {string} request.queryPath + * The guest attributes path to be queried. + * @param {string[]} request.workerIds + * The 0-based worker ID. If it is empty, all workers' GuestAttributes will be + * returned. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [GetGuestAttributesResponse]{@link google.cloud.tpu.v2alpha1.GetGuestAttributesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getGuestAttributes(request); + */ + getGuestAttributes( + request?: protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, + | protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, + | protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse, + protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getGuestAttributes(request, options, callback); + } + + createNode( + request?: protos.google.cloud.tpu.v2alpha1.ICreateNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + createNode( + request: protos.google.cloud.tpu.v2alpha1.ICreateNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + createNode( + request: protos.google.cloud.tpu.v2alpha1.ICreateNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Creates a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {string} request.nodeId + * The unqualified resource name. + * @param {google.cloud.tpu.v2alpha1.Node} request.node + * Required. The node. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.createNode(request); + * const [response] = await operation.promise(); + */ + createNode( + request?: protos.google.cloud.tpu.v2alpha1.ICreateNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.createNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `createNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkCreateNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkCreateNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.createNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + >; + } + deleteNode( + request?: protos.google.cloud.tpu.v2alpha1.IDeleteNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + deleteNode( + request: protos.google.cloud.tpu.v2alpha1.IDeleteNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteNode( + request: protos.google.cloud.tpu.v2alpha1.IDeleteNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Deletes a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.deleteNode(request); + * const [response] = await operation.promise(); + */ + deleteNode( + request?: protos.google.cloud.tpu.v2alpha1.IDeleteNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.deleteNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `deleteNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkDeleteNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkDeleteNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.deleteNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + >; + } + stopNode( + request?: protos.google.cloud.tpu.v2alpha1.IStopNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + stopNode( + request: protos.google.cloud.tpu.v2alpha1.IStopNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + stopNode( + request: protos.google.cloud.tpu.v2alpha1.IStopNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Stops a node. This operation is only available with single TPU nodes. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.stopNode(request); + * const [response] = await operation.promise(); + */ + stopNode( + request?: protos.google.cloud.tpu.v2alpha1.IStopNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.stopNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `stopNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkStopNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkStopNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.stopNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + >; + } + startNode( + request?: protos.google.cloud.tpu.v2alpha1.IStartNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + startNode( + request: protos.google.cloud.tpu.v2alpha1.IStartNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + startNode( + request: protos.google.cloud.tpu.v2alpha1.IStartNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Starts a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.startNode(request); + * const [response] = await operation.promise(); + */ + startNode( + request?: protos.google.cloud.tpu.v2alpha1.IStartNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.startNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `startNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkStartNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkStartNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.startNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + >; + } + updateNode( + request?: protos.google.cloud.tpu.v2alpha1.IUpdateNodeRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + updateNode( + request: protos.google.cloud.tpu.v2alpha1.IUpdateNodeRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateNode( + request: protos.google.cloud.tpu.v2alpha1.IUpdateNodeRequest, + callback: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + /** + * Updates the configurations of a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. Mask of fields from {@link Tpu.Node|Node} to update. + * Supported fields: None. + * @param {google.cloud.tpu.v2alpha1.Node} request.node + * Required. The node. Only fields specified in update_mask are updated. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.updateNode(request); + * const [response] = await operation.promise(); + */ + updateNode( + request?: protos.google.cloud.tpu.v2alpha1.IUpdateNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + 'node.name': request.node!.name || '', + }); + this.initialize(); + return this.innerApiCalls.updateNode(request, options, callback); + } + /** + * Check the status of the long running operation returned by `updateNode()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkUpdateNodeProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + */ + async checkUpdateNodeProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.updateNode, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.tpu.v2alpha1.Node, + protos.google.cloud.tpu.v2alpha1.OperationMetadata + >; + } + listNodes( + request?: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.INode[], + protos.google.cloud.tpu.v2alpha1.IListNodesRequest | null, + protos.google.cloud.tpu.v2alpha1.IListNodesResponse + ] + >; + listNodes( + request: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + protos.google.cloud.tpu.v2alpha1.IListNodesResponse | null | undefined, + protos.google.cloud.tpu.v2alpha1.INode + > + ): void; + listNodes( + request: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + callback: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + protos.google.cloud.tpu.v2alpha1.IListNodesResponse | null | undefined, + protos.google.cloud.tpu.v2alpha1.INode + > + ): void; + /** + * Lists nodes. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Node]{@link google.cloud.tpu.v2alpha1.Node}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listNodesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listNodes( + request?: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + | protos.google.cloud.tpu.v2alpha1.IListNodesResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.INode + >, + callback?: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + protos.google.cloud.tpu.v2alpha1.IListNodesResponse | null | undefined, + protos.google.cloud.tpu.v2alpha1.INode + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.INode[], + protos.google.cloud.tpu.v2alpha1.IListNodesRequest | null, + protos.google.cloud.tpu.v2alpha1.IListNodesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.listNodes(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Node]{@link google.cloud.tpu.v2alpha1.Node} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listNodesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listNodesStream( + request?: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + options?: CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const defaultCallSettings = this._defaults['listNodes']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listNodes.createStream( + this.innerApiCalls.listNodes as gax.GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listNodes`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Node]{@link google.cloud.tpu.v2alpha1.Node}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listNodesAsync(request); + * for await (const response of iterable) { + * // process response + * } + */ + listNodesAsync( + request?: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, + options?: CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const defaultCallSettings = this._defaults['listNodes']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listNodes.asyncIterate( + this.innerApiCalls['listNodes'] as GaxCall, + request as unknown as RequestType, + callSettings + ) as AsyncIterable; + } + listAcceleratorTypes( + request?: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IAcceleratorType[], + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest | null, + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse + ] + >; + listAcceleratorTypes( + request: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IAcceleratorType + > + ): void; + listAcceleratorTypes( + request: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + callback: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IAcceleratorType + > + ): void; + /** + * Lists accelerator types supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listAcceleratorTypesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listAcceleratorTypes( + request?: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IAcceleratorType + >, + callback?: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + | protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IAcceleratorType + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IAcceleratorType[], + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest | null, + protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.listAcceleratorTypes(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listAcceleratorTypesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listAcceleratorTypesStream( + request?: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + options?: CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const defaultCallSettings = this._defaults['listAcceleratorTypes']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listAcceleratorTypes.createStream( + this.innerApiCalls.listAcceleratorTypes as gax.GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listAcceleratorTypes`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listAcceleratorTypesAsync(request); + * for await (const response of iterable) { + * // process response + * } + */ + listAcceleratorTypesAsync( + request?: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, + options?: CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const defaultCallSettings = this._defaults['listAcceleratorTypes']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listAcceleratorTypes.asyncIterate( + this.innerApiCalls['listAcceleratorTypes'] as GaxCall, + request as unknown as RequestType, + callSettings + ) as AsyncIterable; + } + listRuntimeVersions( + request?: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion[], + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest | null, + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse + ] + >; + listRuntimeVersions( + request: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + | protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion + > + ): void; + listRuntimeVersions( + request: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + callback: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + | protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion + > + ): void; + /** + * Lists runtime versions supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listRuntimeVersionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listRuntimeVersions( + request?: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + | protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion + >, + callback?: PaginationCallback< + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + | protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse + | null + | undefined, + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion + > + ): Promise< + [ + protos.google.cloud.tpu.v2alpha1.IRuntimeVersion[], + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest | null, + protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + this.initialize(); + return this.innerApiCalls.listRuntimeVersions(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listRuntimeVersionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listRuntimeVersionsStream( + request?: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + options?: CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const defaultCallSettings = this._defaults['listRuntimeVersions']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRuntimeVersions.createStream( + this.innerApiCalls.listRuntimeVersions as gax.GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listRuntimeVersions`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listRuntimeVersionsAsync(request); + * for await (const response of iterable) { + * // process response + * } + */ + listRuntimeVersionsAsync( + request?: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, + options?: CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const defaultCallSettings = this._defaults['listRuntimeVersions']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRuntimeVersions.asyncIterate( + this.innerApiCalls['listRuntimeVersions'] as GaxCall, + request as unknown as RequestType, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified acceleratorType resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} accelerator_type + * @returns {string} Resource name string. + */ + acceleratorTypePath( + project: string, + location: string, + acceleratorType: string + ) { + return this.pathTemplates.acceleratorTypePathTemplate.render({ + project: project, + location: location, + accelerator_type: acceleratorType, + }); + } + + /** + * Parse the project from AcceleratorType resource. + * + * @param {string} acceleratorTypeName + * A fully-qualified path representing AcceleratorType resource. + * @returns {string} A string representing the project. + */ + matchProjectFromAcceleratorTypeName(acceleratorTypeName: string) { + return this.pathTemplates.acceleratorTypePathTemplate.match( + acceleratorTypeName + ).project; + } + + /** + * Parse the location from AcceleratorType resource. + * + * @param {string} acceleratorTypeName + * A fully-qualified path representing AcceleratorType resource. + * @returns {string} A string representing the location. + */ + matchLocationFromAcceleratorTypeName(acceleratorTypeName: string) { + return this.pathTemplates.acceleratorTypePathTemplate.match( + acceleratorTypeName + ).location; + } + + /** + * Parse the accelerator_type from AcceleratorType resource. + * + * @param {string} acceleratorTypeName + * A fully-qualified path representing AcceleratorType resource. + * @returns {string} A string representing the accelerator_type. + */ + matchAcceleratorTypeFromAcceleratorTypeName(acceleratorTypeName: string) { + return this.pathTemplates.acceleratorTypePathTemplate.match( + acceleratorTypeName + ).accelerator_type; + } + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified node resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} node + * @returns {string} Resource name string. + */ + nodePath(project: string, location: string, node: string) { + return this.pathTemplates.nodePathTemplate.render({ + project: project, + location: location, + node: node, + }); + } + + /** + * Parse the project from Node resource. + * + * @param {string} nodeName + * A fully-qualified path representing Node resource. + * @returns {string} A string representing the project. + */ + matchProjectFromNodeName(nodeName: string) { + return this.pathTemplates.nodePathTemplate.match(nodeName).project; + } + + /** + * Parse the location from Node resource. + * + * @param {string} nodeName + * A fully-qualified path representing Node resource. + * @returns {string} A string representing the location. + */ + matchLocationFromNodeName(nodeName: string) { + return this.pathTemplates.nodePathTemplate.match(nodeName).location; + } + + /** + * Parse the node from Node resource. + * + * @param {string} nodeName + * A fully-qualified path representing Node resource. + * @returns {string} A string representing the node. + */ + matchNodeFromNodeName(nodeName: string) { + return this.pathTemplates.nodePathTemplate.match(nodeName).node; + } + + /** + * Return a fully-qualified runtimeVersion resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} runtime_version + * @returns {string} Resource name string. + */ + runtimeVersionPath( + project: string, + location: string, + runtimeVersion: string + ) { + return this.pathTemplates.runtimeVersionPathTemplate.render({ + project: project, + location: location, + runtime_version: runtimeVersion, + }); + } + + /** + * Parse the project from RuntimeVersion resource. + * + * @param {string} runtimeVersionName + * A fully-qualified path representing RuntimeVersion resource. + * @returns {string} A string representing the project. + */ + matchProjectFromRuntimeVersionName(runtimeVersionName: string) { + return this.pathTemplates.runtimeVersionPathTemplate.match( + runtimeVersionName + ).project; + } + + /** + * Parse the location from RuntimeVersion resource. + * + * @param {string} runtimeVersionName + * A fully-qualified path representing RuntimeVersion resource. + * @returns {string} A string representing the location. + */ + matchLocationFromRuntimeVersionName(runtimeVersionName: string) { + return this.pathTemplates.runtimeVersionPathTemplate.match( + runtimeVersionName + ).location; + } + + /** + * Parse the runtime_version from RuntimeVersion resource. + * + * @param {string} runtimeVersionName + * A fully-qualified path representing RuntimeVersion resource. + * @returns {string} A string representing the runtime_version. + */ + matchRuntimeVersionFromRuntimeVersionName(runtimeVersionName: string) { + return this.pathTemplates.runtimeVersionPathTemplate.match( + runtimeVersionName + ).runtime_version; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + this.initialize(); + if (!this._terminated) { + return this.tpuStub!.then(stub => { + this._terminated = true; + stub.close(); + this.operationsClient.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client_config.json b/packages/google-cloud-tpu/src/v2alpha1/tpu_client_config.json new file mode 100644 index 00000000000..d268f63d19d --- /dev/null +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client_config.json @@ -0,0 +1,91 @@ +{ + "interfaces": { + "google.cloud.tpu.v2alpha1.Tpu": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "ListNodes": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "CreateNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "StopNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "StartNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateNode": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GenerateServiceIdentity": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListAcceleratorTypes": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetAcceleratorType": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListRuntimeVersions": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetRuntimeVersion": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetGuestAttributes": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_proto_list.json b/packages/google-cloud-tpu/src/v2alpha1/tpu_proto_list.json new file mode 100644 index 00000000000..17217f28408 --- /dev/null +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/tpu/v2alpha1/cloud_tpu.proto" +] diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts new file mode 100644 index 00000000000..b5b4daaf638 --- /dev/null +++ b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts @@ -0,0 +1,2870 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as tpuModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf, LROperation, operationsProtos} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v2alpha1.TpuClient', () => { + it('has servicePath', () => { + const servicePath = tpuModule.v2alpha1.TpuClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = tpuModule.v2alpha1.TpuClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = tpuModule.v2alpha1.TpuClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new tpuModule.v2alpha1.TpuClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new tpuModule.v2alpha1.TpuClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + await client.initialize(); + assert(client.tpuStub); + }); + + it('has close method', () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('getNode', () => { + it('invokes getNode without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.Node() + ); + client.innerApiCalls.getNode = stubSimpleCall(expectedResponse); + const [response] = await client.getNode(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getNode without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.Node() + ); + client.innerApiCalls.getNode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getNode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.INode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getNode with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getNode = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getNode(request), expectedError); + assert( + (client.innerApiCalls.getNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('generateServiceIdentity', () => { + it('invokes generateServiceIdentity without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse() + ); + client.innerApiCalls.generateServiceIdentity = + stubSimpleCall(expectedResponse); + const [response] = await client.generateServiceIdentity(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.generateServiceIdentity as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes generateServiceIdentity without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse() + ); + client.innerApiCalls.generateServiceIdentity = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.generateServiceIdentity( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.generateServiceIdentity as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes generateServiceIdentity with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.generateServiceIdentity = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.generateServiceIdentity(request), + expectedError + ); + assert( + (client.innerApiCalls.generateServiceIdentity as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getAcceleratorType', () => { + it('invokes getAcceleratorType without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ); + client.innerApiCalls.getAcceleratorType = + stubSimpleCall(expectedResponse); + const [response] = await client.getAcceleratorType(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getAcceleratorType as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getAcceleratorType without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ); + client.innerApiCalls.getAcceleratorType = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getAcceleratorType( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.IAcceleratorType | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getAcceleratorType as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getAcceleratorType with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getAcceleratorType = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getAcceleratorType(request), expectedError); + assert( + (client.innerApiCalls.getAcceleratorType as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getRuntimeVersion', () => { + it('invokes getRuntimeVersion without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ); + client.innerApiCalls.getRuntimeVersion = stubSimpleCall(expectedResponse); + const [response] = await client.getRuntimeVersion(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getRuntimeVersion as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getRuntimeVersion without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ); + client.innerApiCalls.getRuntimeVersion = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getRuntimeVersion( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.IRuntimeVersion | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getRuntimeVersion as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getRuntimeVersion with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getRuntimeVersion = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getRuntimeVersion(request), expectedError); + assert( + (client.innerApiCalls.getRuntimeVersion as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getGuestAttributes', () => { + it('invokes getGuestAttributes without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesResponse() + ); + client.innerApiCalls.getGuestAttributes = + stubSimpleCall(expectedResponse); + const [response] = await client.getGuestAttributes(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getGuestAttributes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getGuestAttributes without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesResponse() + ); + client.innerApiCalls.getGuestAttributes = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getGuestAttributes( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getGuestAttributes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getGuestAttributes with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getGuestAttributes = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getGuestAttributes(request), expectedError); + assert( + (client.innerApiCalls.getGuestAttributes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createNode', () => { + it('invokes createNode without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.createNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createNode without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createNode with call error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.createNode(request), expectedError); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createNode with LRO error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.createNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.createNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkCreateNodeProgress without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkCreateNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkCreateNodeProgress with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkCreateNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteNode', () => { + it('invokes deleteNode without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteNode without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteNode with call error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.deleteNode(request), expectedError); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteNode with LRO error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.deleteNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.deleteNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkDeleteNodeProgress without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkDeleteNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteNodeProgress with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkDeleteNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('stopNode', () => { + it('invokes stopNode without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.stopNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.stopNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes stopNode without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.stopNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.stopNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes stopNode with call error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.stopNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.stopNode(request), expectedError); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes stopNode with LRO error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.stopNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.stopNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.stopNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkStopNodeProgress without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkStopNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkStopNodeProgress with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkStopNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('startNode', () => { + it('invokes startNode without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.startNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.startNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes startNode without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.startNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.startNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes startNode with call error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.startNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.startNode(request), expectedError); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes startNode with LRO error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.startNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.startNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.startNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkStartNodeProgress without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkStartNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkStartNodeProgress with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkStartNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateNode', () => { + it('invokes updateNode without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() + ); + request.node = {}; + request.node.name = ''; + const expectedHeaderRequestParams = 'node.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateNode = stubLongRunningCall(expectedResponse); + const [operation] = await client.updateNode(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateNode without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() + ); + request.node = {}; + request.node.name = ''; + const expectedHeaderRequestParams = 'node.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateNode = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateNode( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.tpu.v2alpha1.INode, + protos.google.cloud.tpu.v2alpha1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes updateNode with call error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() + ); + request.node = {}; + request.node.name = ''; + const expectedHeaderRequestParams = 'node.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateNode = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.updateNode(request), expectedError); + assert( + (client.innerApiCalls.updateNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateNode with LRO error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() + ); + request.node = {}; + request.node.name = ''; + const expectedHeaderRequestParams = 'node.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateNode = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.updateNode(request); + await assert.rejects(operation.promise(), expectedError); + assert( + (client.innerApiCalls.updateNode as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes checkUpdateNodeProgress without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkUpdateNodeProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkUpdateNodeProgress with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.checkUpdateNodeProgress(''), expectedError); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listNodes', () => { + it('invokes listNodes without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + ]; + client.innerApiCalls.listNodes = stubSimpleCall(expectedResponse); + const [response] = await client.listNodes(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listNodes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listNodes without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + ]; + client.innerApiCalls.listNodes = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listNodes( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.INode[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listNodes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listNodes with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listNodes = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listNodes(request), expectedError); + assert( + (client.innerApiCalls.listNodes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listNodesStream without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + ]; + client.descriptors.page.listNodes.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listNodesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v2alpha1.Node[] = []; + stream.on('data', (response: protos.google.cloud.tpu.v2alpha1.Node) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNodes, request) + ); + assert.strictEqual( + (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('invokes listNodesStream with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listNodes.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listNodesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v2alpha1.Node[] = []; + stream.on('data', (response: protos.google.cloud.tpu.v2alpha1.Node) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listNodes, request) + ); + assert.strictEqual( + (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listNodes without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), + ]; + client.descriptors.page.listNodes.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.tpu.v2alpha1.INode[] = []; + const iterable = client.listNodesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listNodes with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listNodes.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listNodesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.tpu.v2alpha1.INode[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + }); + + describe('listAcceleratorTypes', () => { + it('invokes listAcceleratorTypes without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + ]; + client.innerApiCalls.listAcceleratorTypes = + stubSimpleCall(expectedResponse); + const [response] = await client.listAcceleratorTypes(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listAcceleratorTypes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listAcceleratorTypes without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + ]; + client.innerApiCalls.listAcceleratorTypes = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listAcceleratorTypes( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.IAcceleratorType[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listAcceleratorTypes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listAcceleratorTypes with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listAcceleratorTypes = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listAcceleratorTypes(request), expectedError); + assert( + (client.innerApiCalls.listAcceleratorTypes as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listAcceleratorTypesStream without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + ]; + client.descriptors.page.listAcceleratorTypes.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listAcceleratorTypesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v2alpha1.AcceleratorType[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v2alpha1.AcceleratorType) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listAcceleratorTypes, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('invokes listAcceleratorTypesStream with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listAcceleratorTypes.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listAcceleratorTypesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v2alpha1.AcceleratorType[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v2alpha1.AcceleratorType) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listAcceleratorTypes, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listAcceleratorTypes without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.AcceleratorType() + ), + ]; + client.descriptors.page.listAcceleratorTypes.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.tpu.v2alpha1.IAcceleratorType[] = []; + const iterable = client.listAcceleratorTypesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listAcceleratorTypes with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listAcceleratorTypes.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listAcceleratorTypesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.tpu.v2alpha1.IAcceleratorType[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + }); + + describe('listRuntimeVersions', () => { + it('invokes listRuntimeVersions without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + ]; + client.innerApiCalls.listRuntimeVersions = + stubSimpleCall(expectedResponse); + const [response] = await client.listRuntimeVersions(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listRuntimeVersions as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listRuntimeVersions without error using callback', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + ]; + client.innerApiCalls.listRuntimeVersions = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listRuntimeVersions( + request, + ( + err?: Error | null, + result?: protos.google.cloud.tpu.v2alpha1.IRuntimeVersion[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listRuntimeVersions as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listRuntimeVersions with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listRuntimeVersions = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listRuntimeVersions(request), expectedError); + assert( + (client.innerApiCalls.listRuntimeVersions as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listRuntimeVersionsStream without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + ]; + client.descriptors.page.listRuntimeVersions.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listRuntimeVersionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v2alpha1.RuntimeVersion[] = []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v2alpha1.RuntimeVersion) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listRuntimeVersions.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRuntimeVersions, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listRuntimeVersions.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('invokes listRuntimeVersionsStream with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listRuntimeVersions.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listRuntimeVersionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.tpu.v2alpha1.RuntimeVersion[] = []; + stream.on( + 'data', + (response: protos.google.cloud.tpu.v2alpha1.RuntimeVersion) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listRuntimeVersions.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRuntimeVersions, request) + ); + assert.strictEqual( + ( + client.descriptors.page.listRuntimeVersions.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listRuntimeVersions without error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() + ), + ]; + client.descriptors.page.listRuntimeVersions.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.tpu.v2alpha1.IRuntimeVersion[] = []; + const iterable = client.listRuntimeVersionsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listRuntimeVersions with error', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listRuntimeVersions.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listRuntimeVersionsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.tpu.v2alpha1.IRuntimeVersion[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert.strictEqual( + ( + client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], + expectedHeaderRequestParams + ); + }); + }); + + describe('Path templates', () => { + describe('acceleratorType', () => { + const fakePath = '/rendered/path/acceleratorType'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + accelerator_type: 'acceleratorTypeValue', + }; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.acceleratorTypePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.acceleratorTypePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('acceleratorTypePath', () => { + const result = client.acceleratorTypePath( + 'projectValue', + 'locationValue', + 'acceleratorTypeValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromAcceleratorTypeName', () => { + const result = client.matchProjectFromAcceleratorTypeName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromAcceleratorTypeName', () => { + const result = client.matchLocationFromAcceleratorTypeName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchAcceleratorTypeFromAcceleratorTypeName', () => { + const result = + client.matchAcceleratorTypeFromAcceleratorTypeName(fakePath); + assert.strictEqual(result, 'acceleratorTypeValue'); + assert( + (client.pathTemplates.acceleratorTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('node', () => { + const fakePath = '/rendered/path/node'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + node: 'nodeValue', + }; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.nodePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.nodePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('nodePath', () => { + const result = client.nodePath( + 'projectValue', + 'locationValue', + 'nodeValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.nodePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromNodeName', () => { + const result = client.matchProjectFromNodeName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.nodePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromNodeName', () => { + const result = client.matchLocationFromNodeName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.nodePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchNodeFromNodeName', () => { + const result = client.matchNodeFromNodeName(fakePath); + assert.strictEqual(result, 'nodeValue'); + assert( + (client.pathTemplates.nodePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('runtimeVersion', () => { + const fakePath = '/rendered/path/runtimeVersion'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + runtime_version: 'runtimeVersionValue', + }; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.runtimeVersionPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.runtimeVersionPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('runtimeVersionPath', () => { + const result = client.runtimeVersionPath( + 'projectValue', + 'locationValue', + 'runtimeVersionValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.runtimeVersionPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromRuntimeVersionName', () => { + const result = client.matchProjectFromRuntimeVersionName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.runtimeVersionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromRuntimeVersionName', () => { + const result = client.matchLocationFromRuntimeVersionName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.runtimeVersionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchRuntimeVersionFromRuntimeVersionName', () => { + const result = + client.matchRuntimeVersionFromRuntimeVersionName(fakePath); + assert.strictEqual(result, 'runtimeVersionValue'); + assert( + (client.pathTemplates.runtimeVersionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); From 867fddf6b858acc4e8f3b50a1e592d97f46e4fe9 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 19 Oct 2021 23:00:33 +0000 Subject: [PATCH 25/64] chore: release 1.2.0 (#44) :robot: I have created a release \*beep\* \*boop\* --- ## [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)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index d6cfb6c6541..47afc16e135 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index c5ae132f8af..d8010359607 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.1.1", + "version": "1.2.0", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index 4546503065e..e0df22b3bb2 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.1.1" + "@google-cloud/tpu": "^1.2.0" }, "devDependencies": { "c8": "^7.1.0", From 73e6a89bc94988f0ea335d8b9239b2f0e63db5b2 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 26 Oct 2021 23:20:51 +0200 Subject: [PATCH 26/64] chore(deps): update dependency @types/node to v16 (#45) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^14.14.44` -> `^16.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/14.17.32/16.11.6) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/compatibility-slim/14.17.32)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/confidence-slim/14.17.32)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index d8010359607..3fe124114be 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -43,7 +43,7 @@ }, "devDependencies": { "@types/mocha": "^8.2.2", - "@types/node": "^14.14.44", + "@types/node": "^16.0.0", "@types/sinon": "^10.0.0", "c8": "^7.7.2", "gts": "^3.1.0", From bbce96f7051e588c82e4bf4e773788802040d13d Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Wed, 3 Nov 2021 11:48:30 -0400 Subject: [PATCH 27/64] chore(cloud-rad): delete api-extractor config (#46) --- packages/google-cloud-tpu/api-extractor.json | 369 ------------------- 1 file changed, 369 deletions(-) delete mode 100644 packages/google-cloud-tpu/api-extractor.json diff --git a/packages/google-cloud-tpu/api-extractor.json b/packages/google-cloud-tpu/api-extractor.json deleted file mode 100644 index de228294b23..00000000000 --- a/packages/google-cloud-tpu/api-extractor.json +++ /dev/null @@ -1,369 +0,0 @@ -/** - * Config file for API Extractor. For more info, please visit: https://api-extractor.com - */ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - - /** - * Optionally specifies another JSON config file that this file extends from. This provides a way for - * standard settings to be shared across multiple projects. - * - * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains - * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be - * resolved using NodeJS require(). - * - * SUPPORTED TOKENS: none - * DEFAULT VALUE: "" - */ - // "extends": "./shared/api-extractor-base.json" - // "extends": "my-package/include/api-extractor-base.json" - - /** - * Determines the "" token that can be used with other config file settings. The project folder - * typically contains the tsconfig.json and package.json config files, but the path is user-defined. - * - * The path is resolved relative to the folder of the config file that contains the setting. - * - * The default value for "projectFolder" is the token "", which means the folder is determined by traversing - * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder - * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error - * will be reported. - * - * SUPPORTED TOKENS: - * DEFAULT VALUE: "" - */ - // "projectFolder": "..", - - /** - * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor - * analyzes the symbols exported by this module. - * - * The file extension must be ".d.ts" and not ".ts". - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - */ - "mainEntryPointFilePath": "/protos/protos.d.ts", - - /** - * A list of NPM package names whose exports should be treated as part of this package. - * - * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", - * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part - * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly - * imports library2. To avoid this, we can specify: - * - * "bundledPackages": [ "library2" ], - * - * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been - * local files for library1. - */ - "bundledPackages": [ ], - - /** - * Determines how the TypeScript compiler engine will be invoked by API Extractor. - */ - "compiler": { - /** - * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * Note: This setting will be ignored if "overrideTsconfig" is used. - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/tsconfig.json" - */ - // "tsconfigFilePath": "/tsconfig.json", - - /** - * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. - * The object must conform to the TypeScript tsconfig schema: - * - * http://json.schemastore.org/tsconfig - * - * If omitted, then the tsconfig.json file will be read from the "projectFolder". - * - * DEFAULT VALUE: no overrideTsconfig section - */ - // "overrideTsconfig": { - // . . . - // } - - /** - * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended - * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when - * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses - * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. - * - * DEFAULT VALUE: false - */ - // "skipLibCheck": true, - }, - - /** - * Configures how the API report file (*.api.md) will be generated. - */ - "apiReport": { - /** - * (REQUIRED) Whether to generate an API report. - */ - "enabled": true, - - /** - * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce - * a full file path. - * - * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". - * - * SUPPORTED TOKENS: , - * DEFAULT VALUE: ".api.md" - */ - // "reportFileName": ".api.md", - - /** - * Specifies the folder where the API report file is written. The file name portion is determined by - * the "reportFileName" setting. - * - * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, - * e.g. for an API review. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/etc/" - */ - // "reportFolder": "/etc/", - - /** - * Specifies the folder where the temporary report file is written. The file name portion is determined by - * the "reportFileName" setting. - * - * After the temporary file is written to disk, it is compared with the file in the "reportFolder". - * If they are different, a production build will fail. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/temp/" - */ - // "reportTempFolder": "/temp/" - }, - - /** - * Configures how the doc model file (*.api.json) will be generated. - */ - "docModel": { - /** - * (REQUIRED) Whether to generate a doc model file. - */ - "enabled": true, - - /** - * The output path for the doc model file. The file extension should be ".api.json". - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/temp/.api.json" - */ - // "apiJsonFilePath": "/temp/.api.json" - }, - - /** - * Configures how the .d.ts rollup file will be generated. - */ - "dtsRollup": { - /** - * (REQUIRED) Whether to generate the .d.ts rollup file. - */ - "enabled": true, - - /** - * Specifies the output path for a .d.ts rollup file to be generated without any trimming. - * This file will include all declarations that are exported by the main entry point. - * - * If the path is an empty string, then this file will not be written. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/dist/.d.ts" - */ - // "untrimmedFilePath": "/dist/.d.ts", - - /** - * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. - * This file will include only declarations that are marked as "@public" or "@beta". - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "" - */ - // "betaTrimmedFilePath": "/dist/-beta.d.ts", - - - /** - * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. - * This file will include only declarations that are marked as "@public". - * - * If the path is an empty string, then this file will not be written. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "" - */ - // "publicTrimmedFilePath": "/dist/-public.d.ts", - - /** - * When a declaration is trimmed, by default it will be replaced by a code comment such as - * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the - * declaration completely. - * - * DEFAULT VALUE: false - */ - // "omitTrimmingComments": true - }, - - /** - * Configures how the tsdoc-metadata.json file will be generated. - */ - "tsdocMetadata": { - /** - * Whether to generate the tsdoc-metadata.json file. - * - * DEFAULT VALUE: true - */ - // "enabled": true, - - /** - * Specifies where the TSDoc metadata file should be written. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", - * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup - * falls back to "tsdoc-metadata.json" in the package folder. - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "" - */ - // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" - }, - - /** - * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files - * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. - * To use the OS's default newline kind, specify "os". - * - * DEFAULT VALUE: "crlf" - */ - // "newlineKind": "crlf", - - /** - * Configures how API Extractor reports error and warning messages produced during analysis. - * - * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. - */ - "messages": { - /** - * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing - * the input .d.ts files. - * - * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" - * - * DEFAULT VALUE: A single "default" entry with logLevel=warning. - */ - "compilerMessageReporting": { - /** - * Configures the default routing for messages that don't match an explicit rule in this table. - */ - "default": { - /** - * Specifies whether the message should be written to the the tool's output log. Note that - * the "addToApiReportFile" property may supersede this option. - * - * Possible values: "error", "warning", "none" - * - * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail - * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes - * the "--local" option), the warning is displayed but the build will not fail. - * - * DEFAULT VALUE: "warning" - */ - "logLevel": "warning", - - /** - * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), - * then the message will be written inside that file; otherwise, the message is instead logged according to - * the "logLevel" option. - * - * DEFAULT VALUE: false - */ - // "addToApiReportFile": false - }, - - // "TS2551": { - // "logLevel": "warning", - // "addToApiReportFile": true - // }, - // - // . . . - }, - - /** - * Configures handling of messages reported by API Extractor during its analysis. - * - * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" - * - * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings - */ - "extractorMessageReporting": { - "default": { - "logLevel": "warning", - // "addToApiReportFile": false - }, - - // "ae-extra-release-tag": { - // "logLevel": "warning", - // "addToApiReportFile": true - // }, - // - // . . . - }, - - /** - * Configures handling of messages reported by the TSDoc parser when analyzing code comments. - * - * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" - * - * DEFAULT VALUE: A single "default" entry with logLevel=warning. - */ - "tsdocMessageReporting": { - "default": { - "logLevel": "warning", - // "addToApiReportFile": false - } - - // "tsdoc-link-tag-unescaped-text": { - // "logLevel": "warning", - // "addToApiReportFile": true - // }, - // - // . . . - } - } - -} From 4f51e1f6bac99769642d30456cb561eaad07985a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 4 Nov 2021 20:44:31 +0100 Subject: [PATCH 28/64] chore(deps): update dependency sinon to v12 (#47) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^11.0.0` -> `^12.0.0`](https://renovatebot.com/diffs/npm/sinon/11.1.2/12.0.1) | [![age](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/compatibility-slim/11.1.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/confidence-slim/11.1.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v12.0.1`](https://togithub.com/sinonjs/sinon/blob/master/CHANGES.md#​1201) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v12.0.0...v12.0.1) - [`3f598221`](https://togithub.com/sinonjs/sinon/commit/3f598221045904681f2b3b3ba1df617ed5e230e3) Fix issue with npm unlink for npm version > 6 (Carl-Erik Kopseng) > 'npm unlink' would implicitly unlink the current dir > until version 7, which requires an argument - [`51417a38`](https://togithub.com/sinonjs/sinon/commit/51417a38111eeeb7cd14338bfb762cc2df487e1b) Fix bundling of cjs module ([#​2412](https://togithub.com/sinonjs/sinon/issues/2412)) (Julian Grinblat) > - Fix bundling of cjs module > > - Run prettier *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2021-11-04.* #### 12.0.0 ### [`v12.0.0`](https://togithub.com/sinonjs/sinon/compare/v11.1.2...v12.0.0) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.1.2...v12.0.0)
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 3fe124114be..dee38ac3430 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -54,7 +54,7 @@ "mocha": "^8.4.0", "null-loader": "^4.0.1", "pack-n-play": "^1.0.0-2", - "sinon": "^11.0.0", + "sinon": "^12.0.0", "ts-loader": "^9.1.2", "typescript": "^4.2.4", "webpack": "^5.36.2", From 3fd9c20e19c75b3c753bf91813b303e573182848 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 11 Nov 2021 16:12:24 -0800 Subject: [PATCH 29/64] docs(samples): add example tags to generated samples (#48) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs(samples): add example tags to generated samples PiperOrigin-RevId: 408439482 Source-Link: https://github.com/googleapis/googleapis/commit/b9f61843dc80c7c285fc34fd3a40aae55082c2b9 Source-Link: https://github.com/googleapis/googleapis-gen/commit/eb888bc214efc7bf43bf4634b470254565a659a5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWI4ODhiYzIxNGVmYzdiZjQzYmY0NjM0YjQ3MDI1NDU2NWE2NTlhNSJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../google-cloud-tpu/linkinator.config.json | 2 +- .../samples/generated/v1/tpu.create_node.js | 6 +- .../samples/generated/v1/tpu.delete_node.js | 4 +- .../generated/v1/tpu.get_accelerator_type.js | 4 +- .../samples/generated/v1/tpu.get_node.js | 4 +- .../v1/tpu.get_tensor_flow_version.js | 4 +- .../v1/tpu.list_accelerator_types.js | 4 +- .../samples/generated/v1/tpu.list_nodes.js | 4 +- .../v1/tpu.list_tensor_flow_versions.js | 4 +- .../samples/generated/v1/tpu.reimage_node.js | 4 +- .../samples/generated/v1/tpu.start_node.js | 4 +- .../samples/generated/v1/tpu.stop_node.js | 4 +- .../generated/v2alpha1/tpu.create_node.js | 6 +- .../generated/v2alpha1/tpu.delete_node.js | 4 +- .../v2alpha1/tpu.generate_service_identity.js | 4 +- .../v2alpha1/tpu.get_accelerator_type.js | 4 +- .../v2alpha1/tpu.get_guest_attributes.js | 4 +- .../generated/v2alpha1/tpu.get_node.js | 4 +- .../v2alpha1/tpu.get_runtime_version.js | 4 +- .../v2alpha1/tpu.list_accelerator_types.js | 4 +- .../generated/v2alpha1/tpu.list_nodes.js | 4 +- .../v2alpha1/tpu.list_runtime_versions.js | 4 +- .../generated/v2alpha1/tpu.start_node.js | 4 +- .../generated/v2alpha1/tpu.stop_node.js | 4 +- .../generated/v2alpha1/tpu.update_node.js | 10 +- .../google-cloud-tpu/src/v1/tpu_client.ts | 528 +++++++-------- .../src/v2alpha1/tpu_client.ts | 608 +++++++++--------- 27 files changed, 590 insertions(+), 654 deletions(-) diff --git a/packages/google-cloud-tpu/linkinator.config.json b/packages/google-cloud-tpu/linkinator.config.json index 29a223b6db6..0121dfa684f 100644 --- a/packages/google-cloud-tpu/linkinator.config.json +++ b/packages/google-cloud-tpu/linkinator.config.json @@ -6,5 +6,5 @@ "img.shields.io" ], "silent": true, - "concurrency": 10 + "concurrency": 5 } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js index eb31b9f0991..fe1a601cb6f 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js @@ -30,7 +30,7 @@ function main(parent, node) { /** * Required. The node. */ - // const node = '' + // const node = {} // Imports the Tpu library const {TpuClient} = require('@google-cloud/tpu').v1; @@ -38,7 +38,7 @@ function main(parent, node) { // Instantiates a client const tpuClient = new TpuClient(); - async function createNode() { + async function callCreateNode() { // Construct request const request = { parent, @@ -51,7 +51,7 @@ function main(parent, node) { console.log(response); } - createNode(); + callCreateNode(); // [END tpu_v1_generated_Tpu_CreateNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js index d7185b27897..b0f5bb9c7f4 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function deleteNode() { + async function callDeleteNode() { // Construct request const request = { name, @@ -42,7 +42,7 @@ function main(name) { console.log(response); } - deleteNode(); + callDeleteNode(); // [END tpu_v1_generated_Tpu_DeleteNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js index 74a495dbfc1..1622ce99eb3 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function getAcceleratorType() { + async function callGetAcceleratorType() { // Construct request const request = { name, @@ -41,7 +41,7 @@ function main(name) { console.log(response); } - getAcceleratorType(); + callGetAcceleratorType(); // [END tpu_v1_generated_Tpu_GetAcceleratorType_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js index 25769a1f20f..ca23853831c 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function getNode() { + async function callGetNode() { // Construct request const request = { name, @@ -41,7 +41,7 @@ function main(name) { console.log(response); } - getNode(); + callGetNode(); // [END tpu_v1_generated_Tpu_GetNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js index 8ba7aeadf43..fe076d380b4 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function getTensorFlowVersion() { + async function callGetTensorFlowVersion() { // Construct request const request = { name, @@ -41,7 +41,7 @@ function main(name) { console.log(response); } - getTensorFlowVersion(); + callGetTensorFlowVersion(); // [END tpu_v1_generated_Tpu_GetTensorFlowVersion_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js index 5ba014171fd..18ac5f7fcf0 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js @@ -46,7 +46,7 @@ function main(parent) { // Instantiates a client const tpuClient = new TpuClient(); - async function listAcceleratorTypes() { + async function callListAcceleratorTypes() { // Construct request const request = { parent, @@ -59,7 +59,7 @@ function main(parent) { } } - listAcceleratorTypes(); + callListAcceleratorTypes(); // [END tpu_v1_generated_Tpu_ListAcceleratorTypes_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js index 39e173fdd2c..85fefe4aa5f 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js @@ -38,7 +38,7 @@ function main(parent) { // Instantiates a client const tpuClient = new TpuClient(); - async function listNodes() { + async function callListNodes() { // Construct request const request = { parent, @@ -51,7 +51,7 @@ function main(parent) { } } - listNodes(); + callListNodes(); // [END tpu_v1_generated_Tpu_ListNodes_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js index ea1cae5fc05..5d3885305bc 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js @@ -46,7 +46,7 @@ function main(parent) { // Instantiates a client const tpuClient = new TpuClient(); - async function listTensorFlowVersions() { + async function callListTensorFlowVersions() { // Construct request const request = { parent, @@ -59,7 +59,7 @@ function main(parent) { } } - listTensorFlowVersions(); + callListTensorFlowVersions(); // [END tpu_v1_generated_Tpu_ListTensorFlowVersions_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js index 5e9e2409394..9ac40d3c806 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js @@ -34,7 +34,7 @@ function main() { // Instantiates a client const tpuClient = new TpuClient(); - async function reimageNode() { + async function callReimageNode() { // Construct request const request = {}; @@ -44,7 +44,7 @@ function main() { console.log(response); } - reimageNode(); + callReimageNode(); // [END tpu_v1_generated_Tpu_ReimageNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js index beecd52a8d0..39027442b02 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js @@ -30,7 +30,7 @@ function main() { // Instantiates a client const tpuClient = new TpuClient(); - async function startNode() { + async function callStartNode() { // Construct request const request = {}; @@ -40,7 +40,7 @@ function main() { console.log(response); } - startNode(); + callStartNode(); // [END tpu_v1_generated_Tpu_StartNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js index 963173ecf98..1e3b4f63a9e 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js @@ -30,7 +30,7 @@ function main() { // Instantiates a client const tpuClient = new TpuClient(); - async function stopNode() { + async function callStopNode() { // Construct request const request = {}; @@ -40,7 +40,7 @@ function main() { console.log(response); } - stopNode(); + callStopNode(); // [END tpu_v1_generated_Tpu_StopNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js index 507b72e7c25..ef6ade5025d 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js @@ -30,7 +30,7 @@ function main(parent, node) { /** * Required. The node. */ - // const node = '' + // const node = {} // Imports the Tpu library const {TpuClient} = require('@google-cloud/tpu').v2alpha1; @@ -38,7 +38,7 @@ function main(parent, node) { // Instantiates a client const tpuClient = new TpuClient(); - async function createNode() { + async function callCreateNode() { // Construct request const request = { parent, @@ -51,7 +51,7 @@ function main(parent, node) { console.log(response); } - createNode(); + callCreateNode(); // [END tpu_v2alpha1_generated_Tpu_CreateNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js index c5ac7c60c14..8e5c21c453d 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function deleteNode() { + async function callDeleteNode() { // Construct request const request = { name, @@ -42,7 +42,7 @@ function main(name) { console.log(response); } - deleteNode(); + callDeleteNode(); // [END tpu_v2alpha1_generated_Tpu_DeleteNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js index d9bba662d66..865369695fb 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js @@ -30,7 +30,7 @@ function main(parent) { // Instantiates a client const tpuClient = new TpuClient(); - async function generateServiceIdentity() { + async function callGenerateServiceIdentity() { // Construct request const request = { parent, @@ -41,7 +41,7 @@ function main(parent) { console.log(response); } - generateServiceIdentity(); + callGenerateServiceIdentity(); // [END tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js index ee6a8d4d2a8..6b6c72df3b9 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function getAcceleratorType() { + async function callGetAcceleratorType() { // Construct request const request = { name, @@ -41,7 +41,7 @@ function main(name) { console.log(response); } - getAcceleratorType(); + callGetAcceleratorType(); // [END tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js index 1284d2787df..17042bf8c86 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js @@ -39,7 +39,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function getGuestAttributes() { + async function callGetGuestAttributes() { // Construct request const request = { name, @@ -50,7 +50,7 @@ function main(name) { console.log(response); } - getGuestAttributes(); + callGetGuestAttributes(); // [END tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js index 0d8473c5c90..654b0666e09 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function getNode() { + async function callGetNode() { // Construct request const request = { name, @@ -41,7 +41,7 @@ function main(name) { console.log(response); } - getNode(); + callGetNode(); // [END tpu_v2alpha1_generated_Tpu_GetNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js index 9e698f1a7f0..da5aba7ff2d 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js @@ -30,7 +30,7 @@ function main(name) { // Instantiates a client const tpuClient = new TpuClient(); - async function getRuntimeVersion() { + async function callGetRuntimeVersion() { // Construct request const request = { name, @@ -41,7 +41,7 @@ function main(name) { console.log(response); } - getRuntimeVersion(); + callGetRuntimeVersion(); // [END tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js index 030fccf59dd..2aadf34324a 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js @@ -46,7 +46,7 @@ function main(parent) { // Instantiates a client const tpuClient = new TpuClient(); - async function listAcceleratorTypes() { + async function callListAcceleratorTypes() { // Construct request const request = { parent, @@ -59,7 +59,7 @@ function main(parent) { } } - listAcceleratorTypes(); + callListAcceleratorTypes(); // [END tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js index f3da5c19533..550d1896aa6 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js @@ -38,7 +38,7 @@ function main(parent) { // Instantiates a client const tpuClient = new TpuClient(); - async function listNodes() { + async function callListNodes() { // Construct request const request = { parent, @@ -51,7 +51,7 @@ function main(parent) { } } - listNodes(); + callListNodes(); // [END tpu_v2alpha1_generated_Tpu_ListNodes_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js index d4e013d5495..0579fc97bcf 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js @@ -46,7 +46,7 @@ function main(parent) { // Instantiates a client const tpuClient = new TpuClient(); - async function listRuntimeVersions() { + async function callListRuntimeVersions() { // Construct request const request = { parent, @@ -59,7 +59,7 @@ function main(parent) { } } - listRuntimeVersions(); + callListRuntimeVersions(); // [END tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js index b5c8fe6bea9..3f7b113e45a 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js @@ -30,7 +30,7 @@ function main() { // Instantiates a client const tpuClient = new TpuClient(); - async function startNode() { + async function callStartNode() { // Construct request const request = {}; @@ -40,7 +40,7 @@ function main() { console.log(response); } - startNode(); + callStartNode(); // [END tpu_v2alpha1_generated_Tpu_StartNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js index 0d1994d9e26..748edaec6c6 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js @@ -30,7 +30,7 @@ function main() { // Instantiates a client const tpuClient = new TpuClient(); - async function stopNode() { + async function callStopNode() { // Construct request const request = {}; @@ -40,7 +40,7 @@ function main() { console.log(response); } - stopNode(); + callStopNode(); // [END tpu_v2alpha1_generated_Tpu_StopNode_async] } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js index 698039baa16..525637e0eaa 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js @@ -20,14 +20,14 @@ function main(updateMask, node) { * TODO(developer): Uncomment these variables before running the sample. */ /** - * Required. Mask of fields from [Node][Tpu.Node] to update. + * Required. Mask of fields from Node Tpu.Node to update. * Supported fields: None. */ - // const updateMask = '' + // const updateMask = {} /** * Required. The node. Only fields specified in update_mask are updated. */ - // const node = '' + // const node = {} // Imports the Tpu library const {TpuClient} = require('@google-cloud/tpu').v2alpha1; @@ -35,7 +35,7 @@ function main(updateMask, node) { // Instantiates a client const tpuClient = new TpuClient(); - async function updateNode() { + async function callUpdateNode() { // Construct request const request = { updateMask, @@ -48,7 +48,7 @@ function main(updateMask, node) { console.log(response); } - updateNode(); + callUpdateNode(); // [END tpu_v2alpha1_generated_Tpu_UpdateNode_async] } diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index c16cace7a4d..0d63c0941f7 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -423,6 +423,23 @@ export class TpuClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Gets the details of a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Node]{@link google.cloud.tpu.v1.Node}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/tpu.get_node.js + * region_tag:tpu_v1_generated_Tpu_GetNode_async + */ getNode( request?: protos.google.cloud.tpu.v1.IGetNodeRequest, options?: CallOptions @@ -450,23 +467,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Gets the details of a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Node]{@link google.cloud.tpu.v1.Node}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getNode(request); - */ getNode( request?: protos.google.cloud.tpu.v1.IGetNodeRequest, optionsOrCallback?: @@ -506,6 +506,23 @@ export class TpuClient { this.initialize(); return this.innerApiCalls.getNode(request, options, callback); } + /** + * Gets TensorFlow Version. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/tpu.get_tensor_flow_version.js + * region_tag:tpu_v1_generated_Tpu_GetTensorFlowVersion_async + */ getTensorFlowVersion( request?: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, options?: CallOptions @@ -537,23 +554,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Gets TensorFlow Version. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getTensorFlowVersion(request); - */ getTensorFlowVersion( request?: protos.google.cloud.tpu.v1.IGetTensorFlowVersionRequest, optionsOrCallback?: @@ -597,6 +597,23 @@ export class TpuClient { this.initialize(); return this.innerApiCalls.getTensorFlowVersion(request, options, callback); } + /** + * Gets AcceleratorType. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/tpu.get_accelerator_type.js + * region_tag:tpu_v1_generated_Tpu_GetAcceleratorType_async + */ getAcceleratorType( request?: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, options?: CallOptions @@ -624,23 +641,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Gets AcceleratorType. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getAcceleratorType(request); - */ getAcceleratorType( request?: protos.google.cloud.tpu.v1.IGetAcceleratorTypeRequest, optionsOrCallback?: @@ -683,6 +683,29 @@ export class TpuClient { return this.innerApiCalls.getAcceleratorType(request, options, callback); } + /** + * Creates a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {string} request.nodeId + * The unqualified resource name. + * @param {google.cloud.tpu.v1.Node} request.node + * Required. The node. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/tpu.create_node.js + * region_tag:tpu_v1_generated_Tpu_CreateNode_async + */ createNode( request?: protos.google.cloud.tpu.v1.ICreateNodeRequest, options?: CallOptions @@ -719,30 +742,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Creates a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {string} request.nodeId - * The unqualified resource name. - * @param {google.cloud.tpu.v1.Node} request.node - * Required. The node. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.createNode(request); - * const [response] = await operation.promise(); - */ createNode( request?: protos.google.cloud.tpu.v1.ICreateNodeRequest, optionsOrCallback?: @@ -800,11 +799,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkCreateNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/tpu.create_node.js + * region_tag:tpu_v1_generated_Tpu_CreateNode_async */ async checkCreateNodeProgress( name: string @@ -828,6 +824,25 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata >; } + /** + * Deletes a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/tpu.delete_node.js + * region_tag:tpu_v1_generated_Tpu_DeleteNode_async + */ deleteNode( request?: protos.google.cloud.tpu.v1.IDeleteNodeRequest, options?: CallOptions @@ -864,26 +879,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Deletes a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.deleteNode(request); - * const [response] = await operation.promise(); - */ deleteNode( request?: protos.google.cloud.tpu.v1.IDeleteNodeRequest, optionsOrCallback?: @@ -941,11 +936,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkDeleteNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/tpu.delete_node.js + * region_tag:tpu_v1_generated_Tpu_DeleteNode_async */ async checkDeleteNodeProgress( name: string @@ -969,6 +961,27 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata >; } + /** + * Reimages a node's OS. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {string} request.tensorflowVersion + * The version for reimage to create. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/tpu.reimage_node.js + * region_tag:tpu_v1_generated_Tpu_ReimageNode_async + */ reimageNode( request?: protos.google.cloud.tpu.v1.IReimageNodeRequest, options?: CallOptions @@ -1005,28 +1018,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Reimages a node's OS. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * The resource name. - * @param {string} request.tensorflowVersion - * The version for reimage to create. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.reimageNode(request); - * const [response] = await operation.promise(); - */ reimageNode( request?: protos.google.cloud.tpu.v1.IReimageNodeRequest, optionsOrCallback?: @@ -1084,11 +1075,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkReimageNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/tpu.reimage_node.js + * region_tag:tpu_v1_generated_Tpu_ReimageNode_async */ async checkReimageNodeProgress( name: string @@ -1112,6 +1100,25 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata >; } + /** + * Stops a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/tpu.stop_node.js + * region_tag:tpu_v1_generated_Tpu_StopNode_async + */ stopNode( request?: protos.google.cloud.tpu.v1.IStopNodeRequest, options?: CallOptions @@ -1148,26 +1155,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Stops a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.stopNode(request); - * const [response] = await operation.promise(); - */ stopNode( request?: protos.google.cloud.tpu.v1.IStopNodeRequest, optionsOrCallback?: @@ -1225,11 +1212,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkStopNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/tpu.stop_node.js + * region_tag:tpu_v1_generated_Tpu_StopNode_async */ async checkStopNodeProgress( name: string @@ -1253,6 +1237,25 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata >; } + /** + * Starts a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/tpu.start_node.js + * region_tag:tpu_v1_generated_Tpu_StartNode_async + */ startNode( request?: protos.google.cloud.tpu.v1.IStartNodeRequest, options?: CallOptions @@ -1289,26 +1292,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Starts a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.startNode(request); - * const [response] = await operation.promise(); - */ startNode( request?: protos.google.cloud.tpu.v1.IStartNodeRequest, optionsOrCallback?: @@ -1366,11 +1349,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkStartNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/tpu.start_node.js + * region_tag:tpu_v1_generated_Tpu_StartNode_async */ async checkStartNodeProgress( name: string @@ -1394,6 +1374,30 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata >; } + /** + * Lists nodes. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Node]{@link google.cloud.tpu.v1.Node}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listNodesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ listNodes( request?: protos.google.cloud.tpu.v1.IListNodesRequest, options?: CallOptions @@ -1421,30 +1425,6 @@ export class TpuClient { protos.google.cloud.tpu.v1.INode > ): void; - /** - * Lists nodes. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {number} request.pageSize - * The maximum number of items to return. - * @param {string} request.pageToken - * The next_page_token value returned from a previous List request, if any. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Node]{@link google.cloud.tpu.v1.Node}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listNodesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ listNodes( request?: protos.google.cloud.tpu.v1.IListNodesRequest, optionsOrCallback?: @@ -1551,11 +1531,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listNodesAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1/tpu.list_nodes.js + * region_tag:tpu_v1_generated_Tpu_ListNodes_async */ listNodesAsync( request?: protos.google.cloud.tpu.v1.IListNodesRequest, @@ -1569,7 +1546,6 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); this.initialize(); @@ -1579,6 +1555,34 @@ export class TpuClient { callSettings ) as AsyncIterable; } + /** + * List TensorFlow versions supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listTensorFlowVersionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ listTensorFlowVersions( request?: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, options?: CallOptions @@ -1610,34 +1614,6 @@ export class TpuClient { protos.google.cloud.tpu.v1.ITensorFlowVersion > ): void; - /** - * List TensorFlow versions supported by this API. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {number} request.pageSize - * The maximum number of items to return. - * @param {string} request.pageToken - * The next_page_token value returned from a previous List request, if any. - * @param {string} request.filter - * List filter. - * @param {string} request.orderBy - * Sort results. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [TensorFlowVersion]{@link google.cloud.tpu.v1.TensorFlowVersion}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listTensorFlowVersionsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ listTensorFlowVersions( request?: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, optionsOrCallback?: @@ -1760,11 +1736,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listTensorFlowVersionsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1/tpu.list_tensor_flow_versions.js + * region_tag:tpu_v1_generated_Tpu_ListTensorFlowVersions_async */ listTensorFlowVersionsAsync( request?: protos.google.cloud.tpu.v1.IListTensorFlowVersionsRequest, @@ -1778,7 +1751,6 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; const defaultCallSettings = this._defaults['listTensorFlowVersions']; const callSettings = defaultCallSettings.merge(options); this.initialize(); @@ -1788,6 +1760,34 @@ export class TpuClient { callSettings ) as AsyncIterable; } + /** + * Lists accelerator types supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listAcceleratorTypesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ listAcceleratorTypes( request?: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, options?: CallOptions @@ -1819,34 +1819,6 @@ export class TpuClient { protos.google.cloud.tpu.v1.IAcceleratorType > ): void; - /** - * Lists accelerator types supported by this API. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {number} request.pageSize - * The maximum number of items to return. - * @param {string} request.pageToken - * The next_page_token value returned from a previous List request, if any. - * @param {string} request.filter - * List filter. - * @param {string} request.orderBy - * Sort results. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [AcceleratorType]{@link google.cloud.tpu.v1.AcceleratorType}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listAcceleratorTypesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ listAcceleratorTypes( request?: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, optionsOrCallback?: @@ -1965,11 +1937,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listAcceleratorTypesAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1/tpu.list_accelerator_types.js + * region_tag:tpu_v1_generated_Tpu_ListAcceleratorTypes_async */ listAcceleratorTypesAsync( request?: protos.google.cloud.tpu.v1.IListAcceleratorTypesRequest, @@ -1983,7 +1952,6 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; const defaultCallSettings = this._defaults['listAcceleratorTypes']; const callSettings = defaultCallSettings.merge(options); this.initialize(); diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts index de1649cfc1c..b2182c7c8eb 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -422,6 +422,23 @@ export class TpuClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Gets the details of a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Node]{@link google.cloud.tpu.v2alpha1.Node}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.get_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_GetNode_async + */ getNode( request?: protos.google.cloud.tpu.v2alpha1.IGetNodeRequest, options?: CallOptions @@ -449,23 +466,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Gets the details of a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Node]{@link google.cloud.tpu.v2alpha1.Node}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getNode(request); - */ getNode( request?: protos.google.cloud.tpu.v2alpha1.IGetNodeRequest, optionsOrCallback?: @@ -505,6 +505,23 @@ export class TpuClient { this.initialize(); return this.innerApiCalls.getNode(request, options, callback); } + /** + * Generates the Cloud TPU service identity for the project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [GenerateServiceIdentityResponse]{@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.generate_service_identity.js + * region_tag:tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async + */ generateServiceIdentity( request?: protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, options?: CallOptions @@ -539,23 +556,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Generates the Cloud TPU service identity for the project. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [GenerateServiceIdentityResponse]{@link google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.generateServiceIdentity(request); - */ generateServiceIdentity( request?: protos.google.cloud.tpu.v2alpha1.IGenerateServiceIdentityRequest, optionsOrCallback?: @@ -606,6 +606,23 @@ export class TpuClient { callback ); } + /** + * Gets AcceleratorType. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.get_accelerator_type.js + * region_tag:tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async + */ getAcceleratorType( request?: protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, options?: CallOptions @@ -637,23 +654,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Gets AcceleratorType. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getAcceleratorType(request); - */ getAcceleratorType( request?: protos.google.cloud.tpu.v2alpha1.IGetAcceleratorTypeRequest, optionsOrCallback?: @@ -697,6 +697,23 @@ export class TpuClient { this.initialize(); return this.innerApiCalls.getAcceleratorType(request, options, callback); } + /** + * Gets a runtime version. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.get_runtime_version.js + * region_tag:tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async + */ getRuntimeVersion( request?: protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, options?: CallOptions @@ -728,23 +745,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Gets a runtime version. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getRuntimeVersion(request); - */ getRuntimeVersion( request?: protos.google.cloud.tpu.v2alpha1.IGetRuntimeVersionRequest, optionsOrCallback?: @@ -788,6 +788,28 @@ export class TpuClient { this.initialize(); return this.innerApiCalls.getRuntimeVersion(request, options, callback); } + /** + * Retrieves the guest attributes for the node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {string} request.queryPath + * The guest attributes path to be queried. + * @param {string[]} request.workerIds + * The 0-based worker ID. If it is empty, all workers' GuestAttributes will be + * returned. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [GetGuestAttributesResponse]{@link google.cloud.tpu.v2alpha1.GetGuestAttributesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.get_guest_attributes.js + * region_tag:tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async + */ getGuestAttributes( request?: protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, options?: CallOptions @@ -819,28 +841,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Retrieves the guest attributes for the node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {string} request.queryPath - * The guest attributes path to be queried. - * @param {string[]} request.workerIds - * The 0-based worker ID. If it is empty, all workers' GuestAttributes will be - * returned. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [GetGuestAttributesResponse]{@link google.cloud.tpu.v2alpha1.GetGuestAttributesResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getGuestAttributes(request); - */ getGuestAttributes( request?: protos.google.cloud.tpu.v2alpha1.IGetGuestAttributesRequest, optionsOrCallback?: @@ -885,6 +885,29 @@ export class TpuClient { return this.innerApiCalls.getGuestAttributes(request, options, callback); } + /** + * Creates a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {string} request.nodeId + * The unqualified resource name. + * @param {google.cloud.tpu.v2alpha1.Node} request.node + * Required. The node. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.create_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_CreateNode_async + */ createNode( request?: protos.google.cloud.tpu.v2alpha1.ICreateNodeRequest, options?: CallOptions @@ -921,30 +944,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Creates a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {string} request.nodeId - * The unqualified resource name. - * @param {google.cloud.tpu.v2alpha1.Node} request.node - * Required. The node. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.createNode(request); - * const [response] = await operation.promise(); - */ createNode( request?: protos.google.cloud.tpu.v2alpha1.ICreateNodeRequest, optionsOrCallback?: @@ -1002,11 +1001,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkCreateNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v2alpha1/tpu.create_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_CreateNode_async */ async checkCreateNodeProgress( name: string @@ -1030,6 +1026,25 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata >; } + /** + * Deletes a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.delete_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_DeleteNode_async + */ deleteNode( request?: protos.google.cloud.tpu.v2alpha1.IDeleteNodeRequest, options?: CallOptions @@ -1066,26 +1081,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Deletes a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.deleteNode(request); - * const [response] = await operation.promise(); - */ deleteNode( request?: protos.google.cloud.tpu.v2alpha1.IDeleteNodeRequest, optionsOrCallback?: @@ -1143,11 +1138,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkDeleteNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v2alpha1/tpu.delete_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_DeleteNode_async */ async checkDeleteNodeProgress( name: string @@ -1171,6 +1163,25 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata >; } + /** + * Stops a node. This operation is only available with single TPU nodes. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.stop_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_StopNode_async + */ stopNode( request?: protos.google.cloud.tpu.v2alpha1.IStopNodeRequest, options?: CallOptions @@ -1207,26 +1218,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Stops a node. This operation is only available with single TPU nodes. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.stopNode(request); - * const [response] = await operation.promise(); - */ stopNode( request?: protos.google.cloud.tpu.v2alpha1.IStopNodeRequest, optionsOrCallback?: @@ -1284,11 +1275,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkStopNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v2alpha1/tpu.stop_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_StopNode_async */ async checkStopNodeProgress( name: string @@ -1312,6 +1300,25 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata >; } + /** + * Starts a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.start_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_StartNode_async + */ startNode( request?: protos.google.cloud.tpu.v2alpha1.IStartNodeRequest, options?: CallOptions @@ -1348,26 +1355,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Starts a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * The resource name. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.startNode(request); - * const [response] = await operation.promise(); - */ startNode( request?: protos.google.cloud.tpu.v2alpha1.IStartNodeRequest, optionsOrCallback?: @@ -1425,11 +1412,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkStartNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v2alpha1/tpu.start_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_StartNode_async */ async checkStartNodeProgress( name: string @@ -1453,6 +1437,28 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata >; } + /** + * Updates the configurations of a node. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. Mask of fields from {@link Tpu.Node|Node} to update. + * Supported fields: None. + * @param {google.cloud.tpu.v2alpha1.Node} request.node + * Required. The node. Only fields specified in update_mask are updated. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v2alpha1/tpu.update_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_UpdateNode_async + */ updateNode( request?: protos.google.cloud.tpu.v2alpha1.IUpdateNodeRequest, options?: CallOptions @@ -1489,29 +1495,6 @@ export class TpuClient { {} | null | undefined > ): void; - /** - * Updates the configurations of a node. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.protobuf.FieldMask} request.updateMask - * Required. Mask of fields from {@link Tpu.Node|Node} to update. - * Supported fields: None. - * @param {google.cloud.tpu.v2alpha1.Node} request.node - * Required. The node. Only fields specified in update_mask are updated. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.updateNode(request); - * const [response] = await operation.promise(); - */ updateNode( request?: protos.google.cloud.tpu.v2alpha1.IUpdateNodeRequest, optionsOrCallback?: @@ -1569,11 +1552,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkUpdateNodeProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v2alpha1/tpu.update_node.js + * region_tag:tpu_v2alpha1_generated_Tpu_UpdateNode_async */ async checkUpdateNodeProgress( name: string @@ -1597,6 +1577,30 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata >; } + /** + * Lists nodes. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Node]{@link google.cloud.tpu.v2alpha1.Node}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listNodesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ listNodes( request?: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, options?: CallOptions @@ -1624,30 +1628,6 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.INode > ): void; - /** - * Lists nodes. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {number} request.pageSize - * The maximum number of items to return. - * @param {string} request.pageToken - * The next_page_token value returned from a previous List request, if any. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Node]{@link google.cloud.tpu.v2alpha1.Node}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listNodesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ listNodes( request?: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, optionsOrCallback?: @@ -1756,11 +1736,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listNodesAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v2alpha1/tpu.list_nodes.js + * region_tag:tpu_v2alpha1_generated_Tpu_ListNodes_async */ listNodesAsync( request?: protos.google.cloud.tpu.v2alpha1.IListNodesRequest, @@ -1774,7 +1751,6 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); this.initialize(); @@ -1784,6 +1760,34 @@ export class TpuClient { callSettings ) as AsyncIterable; } + /** + * Lists accelerator types supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listAcceleratorTypesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ listAcceleratorTypes( request?: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, options?: CallOptions @@ -1815,34 +1819,6 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.IAcceleratorType > ): void; - /** - * Lists accelerator types supported by this API. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {number} request.pageSize - * The maximum number of items to return. - * @param {string} request.pageToken - * The next_page_token value returned from a previous List request, if any. - * @param {string} request.filter - * List filter. - * @param {string} request.orderBy - * Sort results. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [AcceleratorType]{@link google.cloud.tpu.v2alpha1.AcceleratorType}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listAcceleratorTypesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ listAcceleratorTypes( request?: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, optionsOrCallback?: @@ -1961,11 +1937,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listAcceleratorTypesAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v2alpha1/tpu.list_accelerator_types.js + * region_tag:tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async */ listAcceleratorTypesAsync( request?: protos.google.cloud.tpu.v2alpha1.IListAcceleratorTypesRequest, @@ -1979,7 +1952,6 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; const defaultCallSettings = this._defaults['listAcceleratorTypes']; const callSettings = defaultCallSettings.merge(options); this.initialize(); @@ -1989,6 +1961,34 @@ export class TpuClient { callSettings ) as AsyncIterable; } + /** + * Lists runtime versions supported by this API. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource name. + * @param {number} request.pageSize + * The maximum number of items to return. + * @param {string} request.pageToken + * The next_page_token value returned from a previous List request, if any. + * @param {string} request.filter + * List filter. + * @param {string} request.orderBy + * Sort results. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listRuntimeVersionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ listRuntimeVersions( request?: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, options?: CallOptions @@ -2020,34 +2020,6 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.IRuntimeVersion > ): void; - /** - * Lists runtime versions supported by this API. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent resource name. - * @param {number} request.pageSize - * The maximum number of items to return. - * @param {string} request.pageToken - * The next_page_token value returned from a previous List request, if any. - * @param {string} request.filter - * List filter. - * @param {string} request.orderBy - * Sort results. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [RuntimeVersion]{@link google.cloud.tpu.v2alpha1.RuntimeVersion}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listRuntimeVersionsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ listRuntimeVersions( request?: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, optionsOrCallback?: @@ -2166,11 +2138,8 @@ export class TpuClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listRuntimeVersionsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v2alpha1/tpu.list_runtime_versions.js + * region_tag:tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async */ listRuntimeVersionsAsync( request?: protos.google.cloud.tpu.v2alpha1.IListRuntimeVersionsRequest, @@ -2184,7 +2153,6 @@ export class TpuClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; const defaultCallSettings = this._defaults['listRuntimeVersions']; const callSettings = defaultCallSettings.merge(options); this.initialize(); From 1fce4cafcac50fa280ae5736986f6190d8ef768c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 10 Dec 2021 21:16:32 +0000 Subject: [PATCH 30/64] build: add generated samples to .eslintignore (#49) --- packages/google-cloud-tpu/.eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-tpu/.eslintignore b/packages/google-cloud-tpu/.eslintignore index 9340ad9b86d..ea5b04aebe6 100644 --- a/packages/google-cloud-tpu/.eslintignore +++ b/packages/google-cloud-tpu/.eslintignore @@ -4,3 +4,4 @@ test/fixtures build/ docs/ protos/ +samples/generated/ From f5afd19d7aa457296eaf6dda5de2eff06230d97d Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 29 Dec 2021 21:40:17 +0000 Subject: [PATCH 31/64] docs(node): support "stable"/"preview" release level (#1312) (#52) --- packages/google-cloud-tpu/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 1fe53954683..5d5cb8d8ec8 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -131,6 +131,8 @@ are addressed with the highest priority. + + More Information: [Google Cloud Platform Launch Stages][launch_stages] [launch_stages]: https://cloud.google.com/terms/launch-stages From c6f00e93e2b37ee80b49ce372d6e52ed00198f6b Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Thu, 30 Dec 2021 11:39:45 -0500 Subject: [PATCH 32/64] chore: add api_shortname and library_type to repo metadata (#51) --- packages/google-cloud-tpu/.repo-metadata.json | 6 ++++-- packages/google-cloud-tpu/README.md | 9 ++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-tpu/.repo-metadata.json b/packages/google-cloud-tpu/.repo-metadata.json index a9fcb75f283..68008203562 100644 --- a/packages/google-cloud-tpu/.repo-metadata.json +++ b/packages/google-cloud-tpu/.repo-metadata.json @@ -4,11 +4,13 @@ "product_documentation": "https://cloud.google.com/tpu/", "client_documentation": "https://cloud.google.com/nodejs/docs/reference/tpu/latest", "issue_tracker": "https://github.com/googleapis/nodejs-cloud-tpu/issues", - "release_level": "ga", + "release_level": "stable", "language": "nodejs", "repo": "googleapis/nodejs-cloud-tpu", "distribution_name": "@google-cloud/tpu", "api_id": "tpu.googleapis.com", "default_version": "v1", - "requires_billing": true + "requires_billing": true, + "api_shortname": "tpu", + "library_type": "GAPIC_AUTO" } diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 5d5cb8d8ec8..beb6c778d2b 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -4,7 +4,7 @@ # [Cloud TPU: Node.js Client](https://github.com/googleapis/nodejs-cloud-tpu) -[![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-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) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-cloud-tpu/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-cloud-tpu) @@ -121,10 +121,10 @@ _Legacy Node.js versions are supported as a best effort:_ This library follows [Semantic Versioning](http://semver.org/). -This library is considered to be **General Availability (GA)**. This means it -is stable; the code surface will not change in backwards-incompatible ways + +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 **GA** libraries +an extensive deprecation period. Issues and requests against **stable** libraries are addressed with the highest priority. @@ -132,7 +132,6 @@ are addressed with the highest priority. - More Information: [Google Cloud Platform Launch Stages][launch_stages] [launch_stages]: https://cloud.google.com/terms/launch-stages From 73f4f0630867e368d5fe089d86a143bb7dfeb39c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 30 Dec 2021 22:46:11 +0000 Subject: [PATCH 33/64] docs(badges): tweak badge to use new preview/stable language (#1314) (#54) --- packages/google-cloud-tpu/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index beb6c778d2b..9c1d63cfdbe 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -4,9 +4,8 @@ # [Cloud TPU: Node.js Client](https://github.com/googleapis/nodejs-cloud-tpu) - +[![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) -[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-cloud-tpu/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-cloud-tpu) From 2938bc84a96f89cbcbfc2a05d9ca172dcfbe7d40 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 11 Jan 2022 17:20:21 +0000 Subject: [PATCH 34/64] test(nodejs): remove 15 add 16 (#1322) (#56) --- packages/google-cloud-tpu/protos/protos.d.ts | 2 +- packages/google-cloud-tpu/protos/protos.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/protos/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts index 871b26a3999..b6bbcb8323e 100644 --- a/packages/google-cloud-tpu/protos/protos.d.ts +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js index 556bf8caa16..d340476f593 100644 --- a/packages/google-cloud-tpu/protos/protos.js +++ b/packages/google-cloud-tpu/protos/protos.js @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. From 54c0c38a9e4969fc7ce9fd7ecbbe1e8e2e8f27b9 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 20 Jan 2022 00:40:02 -0800 Subject: [PATCH 35/64] build: update copyright year to 2022 (#58) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): upgrade gapic-generator-java to 2.4.1 PiperOrigin-RevId: 422607515 Source-Link: https://github.com/googleapis/googleapis/commit/ba2ffd6fe6642e28b4fed2ffae217b4c5f084034 Source-Link: https://github.com/googleapis/googleapis-gen/commit/73ba4add239a619da567ffbd4e5730fdd6de04d3 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNzNiYTRhZGQyMzlhNjE5ZGE1NjdmZmJkNGU1NzMwZmRkNmRlMDRkMyJ9 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- packages/google-cloud-tpu/.jsdoc.js | 4 ++-- .../google-cloud-tpu/samples/generated/v1/tpu.create_node.js | 1 + .../google-cloud-tpu/samples/generated/v1/tpu.delete_node.js | 1 + .../samples/generated/v1/tpu.get_accelerator_type.js | 1 + .../google-cloud-tpu/samples/generated/v1/tpu.get_node.js | 1 + .../samples/generated/v1/tpu.get_tensor_flow_version.js | 1 + .../samples/generated/v1/tpu.list_accelerator_types.js | 3 ++- .../google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js | 3 ++- .../samples/generated/v1/tpu.list_tensor_flow_versions.js | 3 ++- .../google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js | 4 +++- .../google-cloud-tpu/samples/generated/v1/tpu.start_node.js | 4 +++- .../google-cloud-tpu/samples/generated/v1/tpu.stop_node.js | 4 +++- .../samples/generated/v2alpha1/tpu.create_node.js | 1 + .../samples/generated/v2alpha1/tpu.delete_node.js | 1 + .../generated/v2alpha1/tpu.generate_service_identity.js | 1 + .../samples/generated/v2alpha1/tpu.get_accelerator_type.js | 1 + .../samples/generated/v2alpha1/tpu.get_guest_attributes.js | 1 + .../samples/generated/v2alpha1/tpu.get_node.js | 1 + .../samples/generated/v2alpha1/tpu.get_runtime_version.js | 1 + .../samples/generated/v2alpha1/tpu.list_accelerator_types.js | 3 ++- .../samples/generated/v2alpha1/tpu.list_nodes.js | 3 ++- .../samples/generated/v2alpha1/tpu.list_runtime_versions.js | 3 ++- .../samples/generated/v2alpha1/tpu.start_node.js | 4 +++- .../samples/generated/v2alpha1/tpu.stop_node.js | 4 +++- .../samples/generated/v2alpha1/tpu.update_node.js | 1 + packages/google-cloud-tpu/src/v1/index.ts | 2 +- packages/google-cloud-tpu/src/v1/tpu_client.ts | 2 +- packages/google-cloud-tpu/src/v2alpha1/index.ts | 2 +- packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts | 2 +- .../google-cloud-tpu/system-test/fixtures/sample/src/index.js | 2 +- .../google-cloud-tpu/system-test/fixtures/sample/src/index.ts | 2 +- packages/google-cloud-tpu/system-test/install.ts | 2 +- packages/google-cloud-tpu/test/gapic_tpu_v1.ts | 2 +- packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts | 2 +- 34 files changed, 51 insertions(+), 22 deletions(-) diff --git a/packages/google-cloud-tpu/.jsdoc.js b/packages/google-cloud-tpu/.jsdoc.js index 915162150b6..5b3c57ae725 100644 --- a/packages/google-cloud-tpu/.jsdoc.js +++ b/packages/google-cloud-tpu/.jsdoc.js @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. @@ -40,7 +40,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2021 Google LLC', + copyright: 'Copyright 2022 Google LLC', includeDate: false, sourceFiles: false, systemName: '@google-cloud/tpu', diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js index fe1a601cb6f..80cbb17081d 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, node) { diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js index b0f5bb9c7f4..b8af5695b63 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js index 1622ce99eb3..a88d57c238e 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js index ca23853831c..4ce30d38fc8 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js index fe076d380b4..6ef001cbf9a 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js index 18ac5f7fcf0..96b1bc7da24 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -55,7 +56,7 @@ function main(parent) { // Run request const iterable = await tpuClient.listAcceleratorTypesAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js index 85fefe4aa5f..15966e5e8a4 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -47,7 +48,7 @@ function main(parent) { // Run request const iterable = await tpuClient.listNodesAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js index 5d3885305bc..0e5dbabd329 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -55,7 +56,7 @@ function main(parent) { // Run request const iterable = await tpuClient.listTensorFlowVersionsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js index 9ac40d3c806..407ea328875 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main() { @@ -36,7 +37,8 @@ function main() { async function callReimageNode() { // Construct request - const request = {}; + const request = { + }; // Run request const [operation] = await tpuClient.reimageNode(request); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js index 39027442b02..48d5cfdcd27 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main() { @@ -32,7 +33,8 @@ function main() { async function callStartNode() { // Construct request - const request = {}; + const request = { + }; // Run request const [operation] = await tpuClient.startNode(request); diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js index 1e3b4f63a9e..1d415f3a1b1 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main() { @@ -32,7 +33,8 @@ function main() { async function callStopNode() { // Construct request - const request = {}; + const request = { + }; // Run request const [operation] = await tpuClient.stopNode(request); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js index ef6ade5025d..4c4bdd1a102 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, node) { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js index 8e5c21c453d..7eaf37df468 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js index 865369695fb..56eefeed21d 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js index 6b6c72df3b9..fdec394871f 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js index 17042bf8c86..5842e26ed76 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js index 654b0666e09..463b2abe172 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js index da5aba7ff2d..717bb36db51 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js index 2aadf34324a..817bb9e4b00 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -55,7 +56,7 @@ function main(parent) { // Run request const iterable = await tpuClient.listAcceleratorTypesAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js index 550d1896aa6..81ca0c479e3 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -47,7 +48,7 @@ function main(parent) { // Run request const iterable = await tpuClient.listNodesAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js index 0579fc97bcf..b7d96d059d8 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -55,7 +56,7 @@ function main(parent) { // Run request const iterable = await tpuClient.listRuntimeVersionsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js index 3f7b113e45a..2b42e05705f 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main() { @@ -32,7 +33,8 @@ function main() { async function callStartNode() { // Construct request - const request = {}; + const request = { + }; // Run request const [operation] = await tpuClient.startNode(request); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js index 748edaec6c6..78952626cf4 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main() { @@ -32,7 +33,8 @@ function main() { async function callStopNode() { // Construct request - const request = {}; + const request = { + }; // Run request const [operation] = await tpuClient.stopNode(request); diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js index 525637e0eaa..80ae75483f0 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(updateMask, node) { diff --git a/packages/google-cloud-tpu/src/v1/index.ts b/packages/google-cloud-tpu/src/v1/index.ts index 95996c1bc03..27c81814923 100644 --- a/packages/google-cloud-tpu/src/v1/index.ts +++ b/packages/google-cloud-tpu/src/v1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index 0d63c0941f7..72d9cc2c7fa 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/src/v2alpha1/index.ts b/packages/google-cloud-tpu/src/v2alpha1/index.ts index 95996c1bc03..27c81814923 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/index.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts index b2182c7c8eb..fcedb3dce77 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js index 70ace008da3..c4c8970f5bf 100644 --- a/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.js @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts index 9542e4e93a1..50ac473b84f 100644 --- a/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-tpu/system-test/fixtures/sample/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/system-test/install.ts b/packages/google-cloud-tpu/system-test/install.ts index d2d61c0396f..6dd1eaadafa 100644 --- a/packages/google-cloud-tpu/system-test/install.ts +++ b/packages/google-cloud-tpu/system-test/install.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts index 7c7a0584cf5..8dbeb75a797 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts index b5b4daaf638..928ae4890c6 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. From 4b4e2f42737f953d6df70bfa44d67c0ca58ae3ae Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 27 Jan 2022 16:32:13 +0000 Subject: [PATCH 36/64] chore: update v2.12.0 gapic-generator-typescript (#60) - [ ] Regenerate this pull request now. Committer: @summer-ji-eng PiperOrigin-RevId: 424244721 Source-Link: https://github.com/googleapis/googleapis/commit/4b6b01f507ebc3df95fdf8e1d76b0ae0ae33e52c Source-Link: https://github.com/googleapis/googleapis-gen/commit/8ac83fba606d008c7e8a42e7d55b6596ec4be35f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOGFjODNmYmE2MDZkMDA4YzdlOGE0MmU3ZDU1YjY1OTZlYzRiZTM1ZiJ9 --- packages/google-cloud-tpu/linkinator.config.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-tpu/linkinator.config.json b/packages/google-cloud-tpu/linkinator.config.json index 0121dfa684f..befd23c8633 100644 --- a/packages/google-cloud-tpu/linkinator.config.json +++ b/packages/google-cloud-tpu/linkinator.config.json @@ -3,8 +3,14 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "img.shields.io" + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" ], "silent": true, - "concurrency": 5 + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 } From 8ddbad57b1312564e810a64ac55a95d0fb9191b3 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 2 Feb 2022 17:02:54 +0100 Subject: [PATCH 37/64] chore(deps): update dependency sinon to v13 (#62) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^12.0.0` -> `^13.0.0`](https://renovatebot.com/diffs/npm/sinon/12.0.1/13.0.1) | [![age](https://badges.renovateapi.com/packages/npm/sinon/13.0.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/13.0.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/13.0.1/compatibility-slim/12.0.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/13.0.1/confidence-slim/12.0.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v13.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#​1301) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v13.0.0...v13.0.1) - [`ec4223f9`](https://togithub.com/sinonjs/sinon/commit/ec4223f94076d809483e3c6a7536cfc1278dd3c9) Bump nise to fix [sinonjs/nise#​193](https://togithub.com/sinonjs/nise/issues/193) (Carl-Erik Kopseng) - [`f329a010`](https://togithub.com/sinonjs/sinon/commit/f329a01040bfa5a79e039419220b21eda56935d6) Add unimported to workflow ([#​2441](https://togithub.com/sinonjs/sinon/issues/2441)) (Morgan Roderick) - [`7f16cec9`](https://togithub.com/sinonjs/sinon/commit/7f16cec968c3c8d4e580267fb00195916d6f827d) Enable updates to same major version (Carl-Erik Kopseng) - [`f784d7ad`](https://togithub.com/sinonjs/sinon/commit/f784d7ad2c86be0fc65477d69f8bdafca846ef2c) Re-introduce new version.sh script to version hook (Joel Bradshaw) > This was inadvertently removed during merge conflicts, and is required > for any of the new release process stuff to work - [`51c508ab`](https://togithub.com/sinonjs/sinon/commit/51c508ab77cf0f9fb8c5305ff626f6a2eada178f) Add dry run mode to `npm version` ([#​2436](https://togithub.com/sinonjs/sinon/issues/2436)) (Joel Bradshaw) > - Add DRY_RUN flag to skip publish/push > > - Allow overriding branch names for testing - [`05341dcf`](https://togithub.com/sinonjs/sinon/commit/05341dcf92ddca4a1d4c90966b1fcdc7039cff18) Update npm version scripts to manage new releases branch (Joel Bradshaw) - [`fe658261`](https://togithub.com/sinonjs/sinon/commit/fe65826171db69ed2986a1060db77944dbc98a6d) Remove release archives from master (Joel Bradshaw) > These archives made it difficult to find things in the GitHub interface, > and take up a lot of space in a checked-out repo for something that is > not useful to most people checking out the repository. > > The main purpose of these archives is to make old versions and > documentation available on the Sinon website that is run out of this > repo. This can be supported by using a separate branch for website > releases, and to maintain the archives. > > Following this commit, the `npm version` scripts will be updated to > automatically handle archiving the releases in the new releases branch > and keeping it up to date with master. > > Also remove the directories we removed from .prettierignore, since they > don't exist any more. *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-02-01.* ### [`v13.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#​1300) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v12.0.1...v13.0.0) - [`cf3d6c0c`](https://togithub.com/sinonjs/sinon/commit/cf3d6c0cd9689c0ee673b3daa8bf9abd70304392) Upgrade packages ([#​2431](https://togithub.com/sinonjs/sinon/issues/2431)) (Carl-Erik Kopseng) > - Update all @​sinonjs/ packages > > - Upgrade to fake-timers 9 > > - chore: ensure always using latest LTS release - [`41710467`](https://togithub.com/sinonjs/sinon/commit/417104670d575e96a1b645ea40ce763afa76fb1b) Adjust deploy scripts to archive old releases in a separate branch, move existing releases out of master ([#​2426](https://togithub.com/sinonjs/sinon/issues/2426)) (Joel Bradshaw) > Co-authored-by: Carl-Erik Kopseng - [`c80a7266`](https://togithub.com/sinonjs/sinon/commit/c80a72660e89d88b08275eff1028ecb9e26fd8e9) Bump node-fetch from 2.6.1 to 2.6.7 ([#​2430](https://togithub.com/sinonjs/sinon/issues/2430)) (dependabot\[bot]) > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@​users](https://togithub.com/users).noreply.github.com> - [`a00f14a9`](https://togithub.com/sinonjs/sinon/commit/a00f14a97dbe8c65afa89674e16ad73fc7d2fdc0) Add explicit export for `./*` ([#​2413](https://togithub.com/sinonjs/sinon/issues/2413)) (なつき) - [`b82ca7ad`](https://togithub.com/sinonjs/sinon/commit/b82ca7ad9b1add59007771f65a18ee34415de8ca) Bump cached-path-relative from 1.0.2 to 1.1.0 ([#​2428](https://togithub.com/sinonjs/sinon/issues/2428)) (dependabot\[bot]) - [`a9ea1427`](https://togithub.com/sinonjs/sinon/commit/a9ea142716c094ef3c432ecc4089f8207b8dd8b6) Add documentation for assert.calledOnceWithMatch ([#​2424](https://togithub.com/sinonjs/sinon/issues/2424)) (Mathias Schreck) - [`1d5ab86b`](https://togithub.com/sinonjs/sinon/commit/1d5ab86ba60e50dd69593ffed2bffd4b8faa0d38) Be more general in stripping off stack frames to fix Firefox tests ([#​2425](https://togithub.com/sinonjs/sinon/issues/2425)) (Joel Bradshaw) - [`56b06129`](https://togithub.com/sinonjs/sinon/commit/56b06129e223eae690265c37b1113067e2b31bdc) Check call count type ([#​2410](https://togithub.com/sinonjs/sinon/issues/2410)) (Joel Bradshaw) - [`7863e2df`](https://togithub.com/sinonjs/sinon/commit/7863e2dfdbda79e0a32e42af09e6539fc2f2b80f) Fix [#​2414](https://togithub.com/sinonjs/sinon/issues/2414): make Sinon available on homepage (Carl-Erik Kopseng) - [`fabaabdd`](https://togithub.com/sinonjs/sinon/commit/fabaabdda82f39a7f5b75b55bd56cf77b1cd4a8f) Bump nokogiri from 1.11.4 to 1.13.1 ([#​2423](https://togithub.com/sinonjs/sinon/issues/2423)) (dependabot\[bot]) - [`dbc0fbd2`](https://togithub.com/sinonjs/sinon/commit/dbc0fbd263c8419fa47f9c3b20cf47890a242d21) Bump shelljs from 0.8.4 to 0.8.5 ([#​2422](https://togithub.com/sinonjs/sinon/issues/2422)) (dependabot\[bot]) - [`fb8b3d72`](https://togithub.com/sinonjs/sinon/commit/fb8b3d72a85dc8fb0547f859baf3f03a22a039f7) Run Prettier (Carl-Erik Kopseng) - [`12a45939`](https://togithub.com/sinonjs/sinon/commit/12a45939e9b047b6d3663fe55f2eb383ec63c4e1) Fix 2377: Throw error when trying to stub non-configurable or non-writable properties ([#​2417](https://togithub.com/sinonjs/sinon/issues/2417)) (Stuart Dotson) > Fixes issue [#​2377](https://togithub.com/sinonjs/sinon/issues/2377) by throwing an error when trying to stub non-configurable or non-writable properties *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-01-28.*
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index dee38ac3430..8be6f231e4a 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -54,7 +54,7 @@ "mocha": "^8.4.0", "null-loader": "^4.0.1", "pack-n-play": "^1.0.0-2", - "sinon": "^12.0.0", + "sinon": "^13.0.0", "ts-loader": "^9.1.2", "typescript": "^4.2.4", "webpack": "^5.36.2", From 421205fde7bbea753c7c7ea4f3fa286b5ccb7b8c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 3 Feb 2022 22:22:52 +0000 Subject: [PATCH 38/64] docs(nodejs): version support policy edits (#1346) (#64) --- packages/google-cloud-tpu/README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 9c1d63cfdbe..8191c48fd22 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -99,21 +99,21 @@ also contains samples. 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. -Client libraries targeting some end-of-life versions of Node.js are available, and -can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag). -The dist-tags follow the naming convention `legacy-(version)`. - -_Legacy Node.js versions are supported as a best effort:_ +Google's client libraries support legacy versions of Node.js runtimes on a +best-efforts basis with the following warnings: -* Legacy versions will not be tested in continuous integration. -* Some security patches may not be able to be backported. -* Dependencies will not be kept up-to-date, and features will not be backported. +* Legacy versions are not tested in continuous integration. +* Some security patches and features cannot be backported. +* Dependencies cannot be kept up-to-date. -#### Legacy tags available - -* `legacy-8`: install client libraries from this dist-tag for versions - compatible with Node.js 8. +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 From 065c6de72eb147d4fb6dcdf015cf607fa93a6f0d Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 18 Feb 2022 00:56:57 +0000 Subject: [PATCH 39/64] docs(samples): include metadata file, add exclusions for samples to handwritten libraries (#65) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 429395631 Source-Link: https://github.com/googleapis/googleapis/commit/84594b35af0c38efcd6967e8179d801702ad96ff Source-Link: https://github.com/googleapis/googleapis-gen/commit/ed74f970fd82914874e6b27b04763cfa66bafe9b Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWQ3NGY5NzBmZDgyOTE0ODc0ZTZiMjdiMDQ3NjNjZmE2NmJhZmU5YiJ9 --- .../snippet_metadata.google.cloud.tpu.v1.json | 507 +++++++++++++++ .../samples/generated/v1/tpu.create_node.js | 9 +- .../samples/generated/v1/tpu.delete_node.js | 9 +- .../generated/v1/tpu.get_accelerator_type.js | 9 +- .../samples/generated/v1/tpu.get_node.js | 9 +- .../v1/tpu.get_tensor_flow_version.js | 9 +- .../v1/tpu.list_accelerator_types.js | 9 +- .../samples/generated/v1/tpu.list_nodes.js | 9 +- .../v1/tpu.list_tensor_flow_versions.js | 9 +- .../samples/generated/v1/tpu.reimage_node.js | 9 +- .../samples/generated/v1/tpu.start_node.js | 9 +- .../samples/generated/v1/tpu.stop_node.js | 9 +- ...et_metadata.google.cloud.tpu.v2alpha1.json | 595 ++++++++++++++++++ .../generated/v2alpha1/tpu.create_node.js | 9 +- .../generated/v2alpha1/tpu.delete_node.js | 9 +- .../v2alpha1/tpu.generate_service_identity.js | 9 +- .../v2alpha1/tpu.get_accelerator_type.js | 9 +- .../v2alpha1/tpu.get_guest_attributes.js | 9 +- .../generated/v2alpha1/tpu.get_node.js | 9 +- .../v2alpha1/tpu.get_runtime_version.js | 9 +- .../v2alpha1/tpu.list_accelerator_types.js | 9 +- .../generated/v2alpha1/tpu.list_nodes.js | 9 +- .../v2alpha1/tpu.list_runtime_versions.js | 9 +- .../generated/v2alpha1/tpu.start_node.js | 9 +- .../generated/v2alpha1/tpu.stop_node.js | 9 +- .../generated/v2alpha1/tpu.update_node.js | 9 +- .../google-cloud-tpu/src/v1/tpu_client.ts | 5 +- .../src/v2alpha1/tpu_client.ts | 5 +- .../google-cloud-tpu/test/gapic_tpu_v1.ts | 67 +- .../test/gapic_tpu_v2alpha1.ts | 102 ++- 30 files changed, 1439 insertions(+), 58 deletions(-) create mode 100644 packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json create mode 100644 packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json diff --git a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json new file mode 100644 index 00000000000..bdae1ffef05 --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json @@ -0,0 +1,507 @@ +{ + "clientLibrary": { + "name": "nodejs-tpu", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.tpu.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "tpu_v1_generated_Tpu_ListNodes_async", + "title": "Tpu listNodes Sample", + "origin": "API_DEFINITION", + "description": " Lists nodes.", + "canonical": true, + "file": "tpu.list_nodes.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v1.Tpu.ListNodes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.ListNodesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v1.Tpu.ListNodes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_GetNode_async", + "title": "Tpu getNode Sample", + "origin": "API_DEFINITION", + "description": " Gets the details of a node.", + "canonical": true, + "file": "tpu.get_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v1.Tpu.GetNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.Node", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v1.Tpu.GetNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_CreateNode_async", + "title": "Tpu createNode Sample", + "origin": "API_DEFINITION", + "description": " Creates a node.", + "canonical": true, + "file": "tpu.create_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v1.Tpu.CreateNode", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "node_id", + "type": "TYPE_STRING" + }, + { + "name": "node", + "type": ".google.cloud.tpu.v1.Node" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v1.Tpu.CreateNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_DeleteNode_async", + "title": "Tpu deleteNode Sample", + "origin": "API_DEFINITION", + "description": " Deletes a node.", + "canonical": true, + "file": "tpu.delete_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v1.Tpu.DeleteNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v1.Tpu.DeleteNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_ReimageNode_async", + "title": "Tpu reimageNode Sample", + "origin": "API_DEFINITION", + "description": " Reimages a node's OS.", + "canonical": true, + "file": "tpu.reimage_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ReimageNode", + "fullName": "google.cloud.tpu.v1.Tpu.ReimageNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "tensorflow_version", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ReimageNode", + "fullName": "google.cloud.tpu.v1.Tpu.ReimageNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_StopNode_async", + "title": "Tpu stopNode Sample", + "origin": "API_DEFINITION", + "description": " Stops a node.", + "canonical": true, + "file": "tpu.stop_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v1.Tpu.StopNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v1.Tpu.StopNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_StartNode_async", + "title": "Tpu startNode Sample", + "origin": "API_DEFINITION", + "description": " Starts a node.", + "canonical": true, + "file": "tpu.start_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v1.Tpu.StartNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v1.Tpu.StartNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_ListTensorFlowVersions_async", + "title": "Tpu listTensorFlowVersions Sample", + "origin": "API_DEFINITION", + "description": " List TensorFlow versions supported by this API.", + "canonical": true, + "file": "tpu.list_tensor_flow_versions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListTensorFlowVersions", + "fullName": "google.cloud.tpu.v1.Tpu.ListTensorFlowVersions", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.ListTensorFlowVersionsResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ListTensorFlowVersions", + "fullName": "google.cloud.tpu.v1.Tpu.ListTensorFlowVersions", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_GetTensorFlowVersion_async", + "title": "Tpu getTensorFlowVersion Sample", + "origin": "API_DEFINITION", + "description": " Gets TensorFlow Version.", + "canonical": true, + "file": "tpu.get_tensor_flow_version.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetTensorFlowVersion", + "fullName": "google.cloud.tpu.v1.Tpu.GetTensorFlowVersion", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.TensorFlowVersion", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "GetTensorFlowVersion", + "fullName": "google.cloud.tpu.v1.Tpu.GetTensorFlowVersion", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_ListAcceleratorTypes_async", + "title": "Tpu listAcceleratorTypes Sample", + "origin": "API_DEFINITION", + "description": " Lists accelerator types supported by this API.", + "canonical": true, + "file": "tpu.list_accelerator_types.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v1.Tpu.ListAcceleratorTypes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.ListAcceleratorTypesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v1.Tpu.ListAcceleratorTypes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v1_generated_Tpu_GetAcceleratorType_async", + "title": "Tpu getAcceleratorType Sample", + "origin": "API_DEFINITION", + "description": " Gets AcceleratorType.", + "canonical": true, + "file": "tpu.get_accelerator_type.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v1.Tpu.GetAcceleratorType", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.AcceleratorType", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v1.Tpu.GetAcceleratorType", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } + } + ] +} diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js index 80cbb17081d..ae0d66d2bac 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js index b8af5695b63..5f3eca55139 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js index a88d57c238e..44a1a7c96df 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js index 4ce30d38fc8..b1646d49b56 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js index 6ef001cbf9a..af488dd0833 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js index 96b1bc7da24..a316f32453b 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js index 15966e5e8a4..47e8534f3dc 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js index 0e5dbabd329..3fce642c2ec 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js index 407ea328875..009b9076245 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js index 48d5cfdcd27..53eed0e14ac 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js index 1d415f3a1b1..4c15ef2e4b9 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json new file mode 100644 index 00000000000..7c85ccb10be --- /dev/null +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json @@ -0,0 +1,595 @@ +{ + "clientLibrary": { + "name": "nodejs-tpu", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.tpu.v2alpha1", + "version": "v2alpha1" + } + ] + }, + "snippets": [ + { + "regionTag": "tpu_v2alpha1_generated_Tpu_ListNodes_async", + "title": "Tpu listNodes Sample", + "origin": "API_DEFINITION", + "description": " Lists nodes.", + "canonical": true, + "file": "tpu.list_nodes.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListNodes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.ListNodesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListNodes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_GetNode_async", + "title": "Tpu getNode Sample", + "origin": "API_DEFINITION", + "description": " Gets the details of a node.", + "canonical": true, + "file": "tpu.get_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.Node", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_CreateNode_async", + "title": "Tpu createNode Sample", + "origin": "API_DEFINITION", + "description": " Creates a node.", + "canonical": true, + "file": "tpu.create_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.CreateNode", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "node_id", + "type": "TYPE_STRING" + }, + { + "name": "node", + "type": ".google.cloud.tpu.v2alpha1.Node" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.CreateNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_DeleteNode_async", + "title": "Tpu deleteNode Sample", + "origin": "API_DEFINITION", + "description": " Deletes a node.", + "canonical": true, + "file": "tpu.delete_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.DeleteNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.DeleteNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_StopNode_async", + "title": "Tpu stopNode Sample", + "origin": "API_DEFINITION", + "description": " Stops a node. This operation is only available with single TPU nodes.", + "canonical": true, + "file": "tpu.stop_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StopNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StopNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_StartNode_async", + "title": "Tpu startNode Sample", + "origin": "API_DEFINITION", + "description": " Starts a node.", + "canonical": true, + "file": "tpu.start_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StartNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StartNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_UpdateNode_async", + "title": "Tpu updateNode Sample", + "origin": "API_DEFINITION", + "description": " Updates the configurations of a node.", + "canonical": true, + "file": "tpu.update_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.UpdateNode", + "async": true, + "parameters": [ + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "node", + "type": ".google.cloud.tpu.v2alpha1.Node" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "UpdateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.UpdateNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async", + "title": "Tpu generateServiceIdentity Sample", + "origin": "API_DEFINITION", + "description": " Generates the Cloud TPU service identity for the project.", + "canonical": true, + "file": "tpu.generate_service_identity.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GenerateServiceIdentity", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GenerateServiceIdentity", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async", + "title": "Tpu listAcceleratorTypes Sample", + "origin": "API_DEFINITION", + "description": " Lists accelerator types supported by this API.", + "canonical": true, + "file": "tpu.list_accelerator_types.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async", + "title": "Tpu getAcceleratorType Sample", + "origin": "API_DEFINITION", + "description": " Gets AcceleratorType.", + "canonical": true, + "file": "tpu.get_accelerator_type.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorType", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.AcceleratorType", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorType", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async", + "title": "Tpu listRuntimeVersions Sample", + "origin": "API_DEFINITION", + "description": " Lists runtime versions supported by this API.", + "canonical": true, + "file": "tpu.list_runtime_versions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListRuntimeVersions", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "ListRuntimeVersions", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async", + "title": "Tpu getRuntimeVersion Sample", + "origin": "API_DEFINITION", + "description": " Gets a runtime version.", + "canonical": true, + "file": "tpu.get_runtime_version.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetRuntimeVersion", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersion", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.RuntimeVersion", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetRuntimeVersion", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersion", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + }, + { + "regionTag": "tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async", + "title": "Tpu getGuestAttributes Sample", + "origin": "API_DEFINITION", + "description": " Retrieves the guest attributes for the node.", + "canonical": true, + "file": "tpu.get_guest_attributes.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetGuestAttributes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "query_path", + "type": "TYPE_STRING" + }, + { + "name": "worker_ids", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.GetGuestAttributesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetGuestAttributes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } + } + ] +} diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js index 4c4bdd1a102..6f00c6d0545 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js index 7eaf37df468..ca7c24c07eb 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js index 56eefeed21d..6ffe8b866d9 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js index fdec394871f..d87f1707e51 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js index 5842e26ed76..41f16742291 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js index 463b2abe172..b5ea83c0723 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js index 717bb36db51..ede2a750407 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js index 817bb9e4b00..a835cc1ad84 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js index 81ca0c479e3..ab6542a102d 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js index b7d96d059d8..743c2fb0007 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js index 2b42e05705f..0d2cc975a80 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js index 78952626cf4..cb9551938ce 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js index 80ae75483f0..a39e5f32e79 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index 72d9cc2c7fa..b29b3989d8f 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -2200,9 +2200,8 @@ export class TpuClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.tpuStub!.then(stub => { + if (this.tpuStub && !this._terminated) { + return this.tpuStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts index fcedb3dce77..973373ab701 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -2376,9 +2376,8 @@ export class TpuClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.tpuStub!.then(stub => { + if (this.tpuStub && !this._terminated) { + return this.tpuStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts index 8dbeb75a797..409e4bd044a 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts @@ -183,12 +183,27 @@ describe('v1.TpuClient', () => { assert(client.tpuStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new tpuModule.v1.TpuClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.tpuStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -331,6 +346,22 @@ describe('v1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getNode with closed client', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getNode(request), expectedError); + }); }); describe('getTensorFlowVersion', () => { @@ -443,6 +474,22 @@ describe('v1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getTensorFlowVersion with closed client', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getTensorFlowVersion(request), expectedError); + }); }); describe('getAcceleratorType', () => { @@ -555,6 +602,22 @@ describe('v1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getAcceleratorType with closed client', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getAcceleratorType(request), expectedError); + }); }); describe('createNode', () => { diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts index 928ae4890c6..2210a36894e 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts @@ -183,12 +183,27 @@ describe('v2alpha1.TpuClient', () => { assert(client.tpuStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new tpuModule.v2alpha1.TpuClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.tpuStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -331,6 +346,22 @@ describe('v2alpha1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getNode with closed client', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getNode(request), expectedError); + }); }); describe('generateServiceIdentity', () => { @@ -446,6 +477,25 @@ describe('v2alpha1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes generateServiceIdentity with closed client', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.generateServiceIdentity(request), + expectedError + ); + }); }); describe('getAcceleratorType', () => { @@ -558,6 +608,22 @@ describe('v2alpha1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getAcceleratorType with closed client', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getAcceleratorType(request), expectedError); + }); }); describe('getRuntimeVersion', () => { @@ -669,6 +735,22 @@ describe('v2alpha1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getRuntimeVersion with closed client', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getRuntimeVersion(request), expectedError); + }); }); describe('getGuestAttributes', () => { @@ -781,6 +863,22 @@ describe('v2alpha1.TpuClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getGuestAttributes with closed client', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getGuestAttributes(request), expectedError); + }); }); describe('createNode', () => { From 8c149b57fc8453a08b9b8c0638ad34f83c277e52 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 16 Mar 2022 21:32:11 +0000 Subject: [PATCH 40/64] chore: update v2.14.2 gapic-generator-typescript (#69) - [ ] Regenerate this pull request now. Committer: @summer-ji-eng PiperOrigin-RevId: 434859890 Source-Link: https://github.com/googleapis/googleapis/commit/bc2432d50cba657e95212122e3fa112591b5bec2 Source-Link: https://github.com/googleapis/googleapis-gen/commit/930b673103e92523f8cfed38decd7d3afae8ebe7 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOTMwYjY3MzEwM2U5MjUyM2Y4Y2ZlZDM4ZGVjZDdkM2FmYWU4ZWJlNyJ9 --- packages/google-cloud-tpu/test/gapic_tpu_v1.ts | 3 --- packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts | 5 ----- 2 files changed, 8 deletions(-) diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts index 409e4bd044a..f67ea1d9192 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts @@ -357,7 +357,6 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.GetNodeRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getNode(request), expectedError); @@ -485,7 +484,6 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getTensorFlowVersion(request), expectedError); @@ -613,7 +611,6 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getAcceleratorType(request), expectedError); diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts index 2210a36894e..d6dab153efe 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts @@ -357,7 +357,6 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getNode(request), expectedError); @@ -488,7 +487,6 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -619,7 +617,6 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getAcceleratorType(request), expectedError); @@ -746,7 +743,6 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getRuntimeVersion(request), expectedError); @@ -874,7 +870,6 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getGuestAttributes(request), expectedError); From 5d7005f77633360dffdfa66a688bf5a1ce5affcb Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 20 Apr 2022 12:47:08 -0700 Subject: [PATCH 41/64] build(node): update client library version in samples metadata (#1356) (#76) * build(node): add feat in node post-processor to add client library version number in snippet metadata Co-authored-by: Benjamin E. Coe Source-Link: https://github.com/googleapis/synthtool/commit/d337b88dd1494365183718a2de0b7b4056b6fdfe Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:d106724ad2a96daa1b8d88de101ba50bdb30b8df62ffa0aa2b451d93b4556641 Co-authored-by: Owl Bot Co-authored-by: Benjamin E. Coe --- .../snippet_metadata.google.cloud.tpu.v1.json | 968 +++++++------- ...et_metadata.google.cloud.tpu.v2alpha1.json | 1136 ++++++++--------- 2 files changed, 1052 insertions(+), 1052 deletions(-) diff --git a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json index bdae1ffef05..e0761f6b7c1 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json +++ b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json @@ -1,507 +1,507 @@ { - "clientLibrary": { - "name": "nodejs-tpu", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.tpu.v1", - "version": "v1" - } - ] - }, - "snippets": [ - { - "regionTag": "tpu_v1_generated_Tpu_ListNodes_async", - "title": "Tpu listNodes Sample", - "origin": "API_DEFINITION", - "description": " Lists nodes.", - "canonical": true, - "file": "tpu.list_nodes.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListNodes", - "fullName": "google.cloud.tpu.v1.Tpu.ListNodes", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v1.ListNodesResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" - }, - "method": { - "shortName": "ListNodes", - "fullName": "google.cloud.tpu.v1.Tpu.ListNodes", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } + "clientLibrary": { + "name": "nodejs-tpu", + "version": "1.2.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.tpu.v1", + "version": "v1" + } + ] }, - { - "regionTag": "tpu_v1_generated_Tpu_GetNode_async", - "title": "Tpu getNode Sample", - "origin": "API_DEFINITION", - "description": " Gets the details of a node.", - "canonical": true, - "file": "tpu.get_node.js", - "language": "JAVASCRIPT", - "segments": [ + "snippets": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetNode", - "fullName": "google.cloud.tpu.v1.Tpu.GetNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v1.Node", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_ListNodes_async", + "title": "Tpu listNodes Sample", + "origin": "API_DEFINITION", + "description": " Lists nodes.", + "canonical": true, + "file": "tpu.list_nodes.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v1.Tpu.ListNodes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.ListNodesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v1.Tpu.ListNodes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "GetNode", - "fullName": "google.cloud.tpu.v1.Tpu.GetNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_CreateNode_async", - "title": "Tpu createNode Sample", - "origin": "API_DEFINITION", - "description": " Creates a node.", - "canonical": true, - "file": "tpu.create_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateNode", - "fullName": "google.cloud.tpu.v1.Tpu.CreateNode", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "node_id", - "type": "TYPE_STRING" - }, - { - "name": "node", - "type": ".google.cloud.tpu.v1.Node" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_GetNode_async", + "title": "Tpu getNode Sample", + "origin": "API_DEFINITION", + "description": " Gets the details of a node.", + "canonical": true, + "file": "tpu.get_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v1.Tpu.GetNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.Node", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v1.Tpu.GetNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "CreateNode", - "fullName": "google.cloud.tpu.v1.Tpu.CreateNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_DeleteNode_async", - "title": "Tpu deleteNode Sample", - "origin": "API_DEFINITION", - "description": " Deletes a node.", - "canonical": true, - "file": "tpu.delete_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 51, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteNode", - "fullName": "google.cloud.tpu.v1.Tpu.DeleteNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_CreateNode_async", + "title": "Tpu createNode Sample", + "origin": "API_DEFINITION", + "description": " Creates a node.", + "canonical": true, + "file": "tpu.create_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v1.Tpu.CreateNode", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "node_id", + "type": "TYPE_STRING" + }, + { + "name": "node", + "type": ".google.cloud.tpu.v1.Node" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v1.Tpu.CreateNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "DeleteNode", - "fullName": "google.cloud.tpu.v1.Tpu.DeleteNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_ReimageNode_async", - "title": "Tpu reimageNode Sample", - "origin": "API_DEFINITION", - "description": " Reimages a node's OS.", - "canonical": true, - "file": "tpu.reimage_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ReimageNode", - "fullName": "google.cloud.tpu.v1.Tpu.ReimageNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "tensorflow_version", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_DeleteNode_async", + "title": "Tpu deleteNode Sample", + "origin": "API_DEFINITION", + "description": " Deletes a node.", + "canonical": true, + "file": "tpu.delete_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v1.Tpu.DeleteNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v1.Tpu.DeleteNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "ReimageNode", - "fullName": "google.cloud.tpu.v1.Tpu.ReimageNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_StopNode_async", - "title": "Tpu stopNode Sample", - "origin": "API_DEFINITION", - "description": " Stops a node.", - "canonical": true, - "file": "tpu.stop_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "StopNode", - "fullName": "google.cloud.tpu.v1.Tpu.StopNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_ReimageNode_async", + "title": "Tpu reimageNode Sample", + "origin": "API_DEFINITION", + "description": " Reimages a node's OS.", + "canonical": true, + "file": "tpu.reimage_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ReimageNode", + "fullName": "google.cloud.tpu.v1.Tpu.ReimageNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "tensorflow_version", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ReimageNode", + "fullName": "google.cloud.tpu.v1.Tpu.ReimageNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "StopNode", - "fullName": "google.cloud.tpu.v1.Tpu.StopNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_StartNode_async", - "title": "Tpu startNode Sample", - "origin": "API_DEFINITION", - "description": " Starts a node.", - "canonical": true, - "file": "tpu.start_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "StartNode", - "fullName": "google.cloud.tpu.v1.Tpu.StartNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_StopNode_async", + "title": "Tpu stopNode Sample", + "origin": "API_DEFINITION", + "description": " Stops a node.", + "canonical": true, + "file": "tpu.stop_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v1.Tpu.StopNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v1.Tpu.StopNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "StartNode", - "fullName": "google.cloud.tpu.v1.Tpu.StartNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_ListTensorFlowVersions_async", - "title": "Tpu listTensorFlowVersions Sample", - "origin": "API_DEFINITION", - "description": " List TensorFlow versions supported by this API.", - "canonical": true, - "file": "tpu.list_tensor_flow_versions.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 68, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListTensorFlowVersions", - "fullName": "google.cloud.tpu.v1.Tpu.ListTensorFlowVersions", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - }, - { - "name": "filter", - "type": "TYPE_STRING" - }, - { - "name": "order_by", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v1.ListTensorFlowVersionsResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_StartNode_async", + "title": "Tpu startNode Sample", + "origin": "API_DEFINITION", + "description": " Starts a node.", + "canonical": true, + "file": "tpu.start_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v1.Tpu.StartNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v1.Tpu.StartNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "ListTensorFlowVersions", - "fullName": "google.cloud.tpu.v1.Tpu.ListTensorFlowVersions", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_GetTensorFlowVersion_async", - "title": "Tpu getTensorFlowVersion Sample", - "origin": "API_DEFINITION", - "description": " Gets TensorFlow Version.", - "canonical": true, - "file": "tpu.get_tensor_flow_version.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetTensorFlowVersion", - "fullName": "google.cloud.tpu.v1.Tpu.GetTensorFlowVersion", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v1.TensorFlowVersion", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_ListTensorFlowVersions_async", + "title": "Tpu listTensorFlowVersions Sample", + "origin": "API_DEFINITION", + "description": " List TensorFlow versions supported by this API.", + "canonical": true, + "file": "tpu.list_tensor_flow_versions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListTensorFlowVersions", + "fullName": "google.cloud.tpu.v1.Tpu.ListTensorFlowVersions", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.ListTensorFlowVersionsResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ListTensorFlowVersions", + "fullName": "google.cloud.tpu.v1.Tpu.ListTensorFlowVersions", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "GetTensorFlowVersion", - "fullName": "google.cloud.tpu.v1.Tpu.GetTensorFlowVersion", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_ListAcceleratorTypes_async", - "title": "Tpu listAcceleratorTypes Sample", - "origin": "API_DEFINITION", - "description": " Lists accelerator types supported by this API.", - "canonical": true, - "file": "tpu.list_accelerator_types.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 68, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListAcceleratorTypes", - "fullName": "google.cloud.tpu.v1.Tpu.ListAcceleratorTypes", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - }, - { - "name": "filter", - "type": "TYPE_STRING" - }, - { - "name": "order_by", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v1.ListAcceleratorTypesResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_GetTensorFlowVersion_async", + "title": "Tpu getTensorFlowVersion Sample", + "origin": "API_DEFINITION", + "description": " Gets TensorFlow Version.", + "canonical": true, + "file": "tpu.get_tensor_flow_version.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetTensorFlowVersion", + "fullName": "google.cloud.tpu.v1.Tpu.GetTensorFlowVersion", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.TensorFlowVersion", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "GetTensorFlowVersion", + "fullName": "google.cloud.tpu.v1.Tpu.GetTensorFlowVersion", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "ListAcceleratorTypes", - "fullName": "google.cloud.tpu.v1.Tpu.ListAcceleratorTypes", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v1_generated_Tpu_GetAcceleratorType_async", - "title": "Tpu getAcceleratorType Sample", - "origin": "API_DEFINITION", - "description": " Gets AcceleratorType.", - "canonical": true, - "file": "tpu.get_accelerator_type.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetAcceleratorType", - "fullName": "google.cloud.tpu.v1.Tpu.GetAcceleratorType", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v1.AcceleratorType", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v1.TpuClient" + "regionTag": "tpu_v1_generated_Tpu_ListAcceleratorTypes_async", + "title": "Tpu listAcceleratorTypes Sample", + "origin": "API_DEFINITION", + "description": " Lists accelerator types supported by this API.", + "canonical": true, + "file": "tpu.list_accelerator_types.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v1.Tpu.ListAcceleratorTypes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.ListAcceleratorTypesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v1.Tpu.ListAcceleratorTypes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } }, - "method": { - "shortName": "GetAcceleratorType", - "fullName": "google.cloud.tpu.v1.Tpu.GetAcceleratorType", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v1.Tpu" - } + { + "regionTag": "tpu_v1_generated_Tpu_GetAcceleratorType_async", + "title": "Tpu getAcceleratorType Sample", + "origin": "API_DEFINITION", + "description": " Gets AcceleratorType.", + "canonical": true, + "file": "tpu.get_accelerator_type.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v1.Tpu.GetAcceleratorType", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v1.AcceleratorType", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v1.TpuClient" + }, + "method": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v1.Tpu.GetAcceleratorType", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v1.Tpu" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json index 7c85ccb10be..0d2a5992489 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json @@ -1,595 +1,595 @@ { - "clientLibrary": { - "name": "nodejs-tpu", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.tpu.v2alpha1", - "version": "v2alpha1" - } - ] - }, - "snippets": [ - { - "regionTag": "tpu_v2alpha1_generated_Tpu_ListNodes_async", - "title": "Tpu listNodes Sample", - "origin": "API_DEFINITION", - "description": " Lists nodes.", - "canonical": true, - "file": "tpu.list_nodes.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListNodes", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListNodes", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.ListNodesResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" - }, - "method": { - "shortName": "ListNodes", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListNodes", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } + "clientLibrary": { + "name": "nodejs-tpu", + "version": "1.2.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.tpu.v2alpha1", + "version": "v2alpha1" + } + ] }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_GetNode_async", - "title": "Tpu getNode Sample", - "origin": "API_DEFINITION", - "description": " Gets the details of a node.", - "canonical": true, - "file": "tpu.get_node.js", - "language": "JAVASCRIPT", - "segments": [ + "snippets": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.Node", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_ListNodes_async", + "title": "Tpu listNodes Sample", + "origin": "API_DEFINITION", + "description": " Lists nodes.", + "canonical": true, + "file": "tpu.list_nodes.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListNodes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.ListNodesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "ListNodes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListNodes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "GetNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_CreateNode_async", - "title": "Tpu createNode Sample", - "origin": "API_DEFINITION", - "description": " Creates a node.", - "canonical": true, - "file": "tpu.create_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.CreateNode", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "node_id", - "type": "TYPE_STRING" - }, - { - "name": "node", - "type": ".google.cloud.tpu.v2alpha1.Node" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_GetNode_async", + "title": "Tpu getNode Sample", + "origin": "API_DEFINITION", + "description": " Gets the details of a node.", + "canonical": true, + "file": "tpu.get_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.Node", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "CreateNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.CreateNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_DeleteNode_async", - "title": "Tpu deleteNode Sample", - "origin": "API_DEFINITION", - "description": " Deletes a node.", - "canonical": true, - "file": "tpu.delete_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 51, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.DeleteNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_CreateNode_async", + "title": "Tpu createNode Sample", + "origin": "API_DEFINITION", + "description": " Creates a node.", + "canonical": true, + "file": "tpu.create_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.CreateNode", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "node_id", + "type": "TYPE_STRING" + }, + { + "name": "node", + "type": ".google.cloud.tpu.v2alpha1.Node" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "CreateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.CreateNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "DeleteNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.DeleteNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_StopNode_async", - "title": "Tpu stopNode Sample", - "origin": "API_DEFINITION", - "description": " Stops a node. This operation is only available with single TPU nodes.", - "canonical": true, - "file": "tpu.stop_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "StopNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.StopNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_DeleteNode_async", + "title": "Tpu deleteNode Sample", + "origin": "API_DEFINITION", + "description": " Deletes a node.", + "canonical": true, + "file": "tpu.delete_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.DeleteNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "DeleteNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.DeleteNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "StopNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.StopNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_StartNode_async", - "title": "Tpu startNode Sample", - "origin": "API_DEFINITION", - "description": " Starts a node.", - "canonical": true, - "file": "tpu.start_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "StartNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.StartNode", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_StopNode_async", + "title": "Tpu stopNode Sample", + "origin": "API_DEFINITION", + "description": " Stops a node. This operation is only available with single TPU nodes.", + "canonical": true, + "file": "tpu.stop_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StopNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "StopNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StopNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "StartNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.StartNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_UpdateNode_async", - "title": "Tpu updateNode Sample", - "origin": "API_DEFINITION", - "description": " Updates the configurations of a node.", - "canonical": true, - "file": "tpu.update_node.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 57, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.UpdateNode", - "async": true, - "parameters": [ - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - }, - { - "name": "node", - "type": ".google.cloud.tpu.v2alpha1.Node" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_StartNode_async", + "title": "Tpu startNode Sample", + "origin": "API_DEFINITION", + "description": " Starts a node.", + "canonical": true, + "file": "tpu.start_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StartNode", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "StartNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.StartNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "UpdateNode", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.UpdateNode", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async", - "title": "Tpu generateServiceIdentity Sample", - "origin": "API_DEFINITION", - "description": " Generates the Cloud TPU service identity for the project.", - "canonical": true, - "file": "tpu.generate_service_identity.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GenerateServiceIdentity", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_UpdateNode_async", + "title": "Tpu updateNode Sample", + "origin": "API_DEFINITION", + "description": " Updates the configurations of a node.", + "canonical": true, + "file": "tpu.update_node.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.UpdateNode", + "async": true, + "parameters": [ + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "node", + "type": ".google.cloud.tpu.v2alpha1.Node" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "UpdateNode", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.UpdateNode", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "GenerateServiceIdentity", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async", - "title": "Tpu listAcceleratorTypes Sample", - "origin": "API_DEFINITION", - "description": " Lists accelerator types supported by this API.", - "canonical": true, - "file": "tpu.list_accelerator_types.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 68, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListAcceleratorTypes", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - }, - { - "name": "filter", - "type": "TYPE_STRING" - }, - { - "name": "order_by", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async", + "title": "Tpu generateServiceIdentity Sample", + "origin": "API_DEFINITION", + "description": " Generates the Cloud TPU service identity for the project.", + "canonical": true, + "file": "tpu.generate_service_identity.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GenerateServiceIdentity", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GenerateServiceIdentity", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GenerateServiceIdentity", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "ListAcceleratorTypes", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async", - "title": "Tpu getAcceleratorType Sample", - "origin": "API_DEFINITION", - "description": " Gets AcceleratorType.", - "canonical": true, - "file": "tpu.get_accelerator_type.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetAcceleratorType", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorType", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.AcceleratorType", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async", + "title": "Tpu listAcceleratorTypes Sample", + "origin": "API_DEFINITION", + "description": " Lists accelerator types supported by this API.", + "canonical": true, + "file": "tpu.list_accelerator_types.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.ListAcceleratorTypesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "ListAcceleratorTypes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListAcceleratorTypes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "GetAcceleratorType", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorType", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async", - "title": "Tpu listRuntimeVersions Sample", - "origin": "API_DEFINITION", - "description": " Lists runtime versions supported by this API.", - "canonical": true, - "file": "tpu.list_runtime_versions.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 68, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListRuntimeVersions", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - }, - { - "name": "filter", - "type": "TYPE_STRING" - }, - { - "name": "order_by", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async", + "title": "Tpu getAcceleratorType Sample", + "origin": "API_DEFINITION", + "description": " Gets AcceleratorType.", + "canonical": true, + "file": "tpu.get_accelerator_type.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorType", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.AcceleratorType", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetAcceleratorType", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetAcceleratorType", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "ListRuntimeVersions", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async", - "title": "Tpu getRuntimeVersion Sample", - "origin": "API_DEFINITION", - "description": " Gets a runtime version.", - "canonical": true, - "file": "tpu.get_runtime_version.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetRuntimeVersion", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersion", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.RuntimeVersion", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async", + "title": "Tpu listRuntimeVersions Sample", + "origin": "API_DEFINITION", + "description": " Lists runtime versions supported by this API.", + "canonical": true, + "file": "tpu.list_runtime_versions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListRuntimeVersions", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + }, + { + "name": "order_by", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "ListRuntimeVersions", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.ListRuntimeVersions", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "GetRuntimeVersion", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersion", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } - } - } - }, - { - "regionTag": "tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async", - "title": "Tpu getGuestAttributes Sample", - "origin": "API_DEFINITION", - "description": " Retrieves the guest attributes for the node.", - "canonical": true, - "file": "tpu.get_guest_attributes.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetGuestAttributes", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "query_path", - "type": "TYPE_STRING" - }, - { - "name": "worker_ids", - "type": "TYPE_STRING[]" - } - ], - "resultType": ".google.cloud.tpu.v2alpha1.GetGuestAttributesResponse", - "client": { - "shortName": "TpuClient", - "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + "regionTag": "tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async", + "title": "Tpu getRuntimeVersion Sample", + "origin": "API_DEFINITION", + "description": " Gets a runtime version.", + "canonical": true, + "file": "tpu.get_runtime_version.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetRuntimeVersion", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersion", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.RuntimeVersion", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetRuntimeVersion", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetRuntimeVersion", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } }, - "method": { - "shortName": "GetGuestAttributes", - "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes", - "service": { - "shortName": "Tpu", - "fullName": "google.cloud.tpu.v2alpha1.Tpu" - } + { + "regionTag": "tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async", + "title": "Tpu getGuestAttributes Sample", + "origin": "API_DEFINITION", + "description": " Retrieves the guest attributes for the node.", + "canonical": true, + "file": "tpu.get_guest_attributes.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetGuestAttributes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "query_path", + "type": "TYPE_STRING" + }, + { + "name": "worker_ids", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.cloud.tpu.v2alpha1.GetGuestAttributesResponse", + "client": { + "shortName": "TpuClient", + "fullName": "google.cloud.tpu.v2alpha1.TpuClient" + }, + "method": { + "shortName": "GetGuestAttributes", + "fullName": "google.cloud.tpu.v2alpha1.Tpu.GetGuestAttributes", + "service": { + "shortName": "Tpu", + "fullName": "google.cloud.tpu.v2alpha1.Tpu" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file From 1b404fe58d0e9c5ab7777ae1d64a4393e5d7af21 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 3 May 2022 03:22:15 +0200 Subject: [PATCH 42/64] chore(deps): update dependency @types/mocha to v9 (#77) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/mocha](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^8.2.2` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@types%2fmocha/8.2.3/9.1.1) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/compatibility-slim/8.2.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/confidence-slim/8.2.3)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 8be6f231e4a..2c89b054617 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -42,7 +42,7 @@ "google-gax": "^2.24.1" }, "devDependencies": { - "@types/mocha": "^8.2.2", + "@types/mocha": "^9.0.0", "@types/node": "^16.0.0", "@types/sinon": "^10.0.0", "c8": "^7.7.2", From e12832222169485293b74854872530e675e7a97a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 9 May 2022 17:40:27 +0200 Subject: [PATCH 43/64] chore(deps): update dependency sinon to v14 (#80) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^13.0.0` -> `^14.0.0`](https://renovatebot.com/diffs/npm/sinon/13.0.2/14.0.0) | [![age](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/compatibility-slim/13.0.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/confidence-slim/13.0.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v14.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#​1400) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v13.0.2...v14.0.0) - [`c2bbd826`](https://togithub.com/sinonjs/sinon/commit/c2bbd82641444eb5b32822489ae40f185afbbf00) Drop node 12 (Morgan Roderick) > And embrace Node 18 > > See https://nodejs.org/en/about/releases/ *Released by Morgan Roderick on 2022-05-07.*
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 2c89b054617..abd24c40c8c 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -54,7 +54,7 @@ "mocha": "^8.4.0", "null-loader": "^4.0.1", "pack-n-play": "^1.0.0-2", - "sinon": "^13.0.0", + "sinon": "^14.0.0", "ts-loader": "^9.1.2", "typescript": "^4.2.4", "webpack": "^5.36.2", From 78925e5505edb6db1d3b2a2a9ce36269ad13266c Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Wed, 18 May 2022 17:22:44 -0700 Subject: [PATCH 44/64] build!: update library to use Node 12 (#82) * build!: Update library to use Node 12 Co-authored-by: Owl Bot --- packages/google-cloud-tpu/package.json | 8 ++++---- packages/google-cloud-tpu/samples/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index abd24c40c8c..5d7299d6624 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -39,7 +39,7 @@ "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { - "google-gax": "^2.24.1" + "google-gax": "^3.0.1" }, "devDependencies": { "@types/mocha": "^9.0.0", @@ -51,16 +51,16 @@ "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.6", "linkinator": "^2.13.6", - "mocha": "^8.4.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.2.4", + "typescript": "^4.6.4", "webpack": "^5.36.2", "webpack-cli": "^4.7.0" }, "engines": { - "node": ">=v10.0.0" + "node": ">=12.0.0" } } diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index e0df22b3bb2..d1c88348b64 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -4,7 +4,7 @@ "license": "Apache-2.0", "author": "Google LLC", "engines": { - "node": ">=10" + "node": ">=12.0.0" }, "files": [ "*.js" From 848410cede7282c2c8b51f79bc00e0017e84245d Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 7 Jun 2022 11:31:02 -0400 Subject: [PATCH 45/64] chore(main): release 2.0.0 (#83) See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- packages/google-cloud-tpu/CHANGELOG.md | 11 +++++++++++ packages/google-cloud-tpu/package.json | 2 +- .../v1/snippet_metadata.google.cloud.tpu.v1.json | 2 +- .../snippet_metadata.google.cloud.tpu.v2alpha1.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index 47afc16e135..3c7a7c05a42 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 5d7299d6624..8f4f8c77af2 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "1.2.0", + "version": "2.0.0", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json index e0761f6b7c1..388410c14af 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json +++ b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-tpu", - "version": "1.2.0", + "version": "2.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json index 0d2a5992489..63f9bc41815 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-tpu", - "version": "1.2.0", + "version": "2.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index d1c88348b64..b1bd59f5a27 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^1.2.0" + "@google-cloud/tpu": "^2.0.0" }, "devDependencies": { "c8": "^7.1.0", From ec6d92007e0e0632913c2cc5725e49db2d817829 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 9 Jun 2022 22:14:29 +0200 Subject: [PATCH 46/64] chore(deps): update dependency jsdoc-region-tag to v2 (#86) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jsdoc-region-tag](https://togithub.com/googleapis/jsdoc-region-tag) | [`^1.0.6` -> `^2.0.0`](https://renovatebot.com/diffs/npm/jsdoc-region-tag/1.3.1/2.0.0) | [![age](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/compatibility-slim/1.3.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/confidence-slim/1.3.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/jsdoc-region-tag ### [`v2.0.0`](https://togithub.com/googleapis/jsdoc-region-tag/blob/HEAD/CHANGELOG.md#​200-httpsgithubcomgoogleapisjsdoc-region-tagcomparev131v200-2022-05-20) [Compare Source](https://togithub.com/googleapis/jsdoc-region-tag/compare/v1.3.1...v2.0.0) ##### ⚠ BREAKING CHANGES - update library to use Node 12 ([#​107](https://togithub.com/googleapis/jsdoc-region-tag/issues/107)) ##### Build System - update library to use Node 12 ([#​107](https://togithub.com/googleapis/jsdoc-region-tag/issues/107)) ([5b51796](https://togithub.com/googleapis/jsdoc-region-tag/commit/5b51796771984cf8b978990025f14faa03c19923)) ##### [1.3.1](https://www.github.com/googleapis/jsdoc-region-tag/compare/v1.3.0...v1.3.1) (2021-08-11) ##### Bug Fixes - **build:** migrate to using main branch ([#​79](https://www.togithub.com/googleapis/jsdoc-region-tag/issues/79)) ([5050615](https://www.github.com/googleapis/jsdoc-region-tag/commit/50506150b7758592df5e389c6a5c3d82b3b20881))
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 8f4f8c77af2..b2f494c4f00 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -49,7 +49,7 @@ "gts": "^3.1.0", "jsdoc": "^3.6.6", "jsdoc-fresh": "^1.0.2", - "jsdoc-region-tag": "^1.0.6", + "jsdoc-region-tag": "^2.0.0", "linkinator": "^2.13.6", "mocha": "^9.2.2", "null-loader": "^4.0.1", From e9f2f97458e2f920e5a8db2bb6d2a76c770d3c5e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 9 Jun 2022 22:32:26 +0200 Subject: [PATCH 47/64] chore(deps): update dependency jsdoc-fresh to v2 (#85) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jsdoc-fresh](https://togithub.com/googleapis/jsdoc-fresh) | [`^1.0.2` -> `^2.0.0`](https://renovatebot.com/diffs/npm/jsdoc-fresh/1.1.1/2.0.0) | [![age](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/compatibility-slim/1.1.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/confidence-slim/1.1.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/jsdoc-fresh ### [`v2.0.0`](https://togithub.com/googleapis/jsdoc-fresh/blob/HEAD/CHANGELOG.md#​200-httpsgithubcomgoogleapisjsdoc-freshcomparev111v200-2022-05-18) [Compare Source](https://togithub.com/googleapis/jsdoc-fresh/compare/v1.1.1...v2.0.0) ##### ⚠ BREAKING CHANGES - update library to use Node 12 ([#​108](https://togithub.com/googleapis/jsdoc-fresh/issues/108)) ##### Build System - update library to use Node 12 ([#​108](https://togithub.com/googleapis/jsdoc-fresh/issues/108)) ([e61c223](https://togithub.com/googleapis/jsdoc-fresh/commit/e61c2238db8900e339e5fe7fb8aea09642290182)) ##### [1.1.1](https://www.github.com/googleapis/jsdoc-fresh/compare/v1.1.0...v1.1.1) (2021-08-11) ##### Bug Fixes - **build:** migrate to using main branch ([#​83](https://www.togithub.com/googleapis/jsdoc-fresh/issues/83)) ([9474adb](https://www.github.com/googleapis/jsdoc-fresh/commit/9474adbf0d559d319ff207397ba2be6b557999ac))
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index b2f494c4f00..f9f452e9770 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -48,7 +48,7 @@ "c8": "^7.7.2", "gts": "^3.1.0", "jsdoc": "^3.6.6", - "jsdoc-fresh": "^1.0.2", + "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", "linkinator": "^2.13.6", "mocha": "^9.2.2", From a8be5d36003d75b5887b61be2cf86f851f1bca1e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 14:51:49 -0700 Subject: [PATCH 48/64] feat: support regapic LRO (#87) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: support regapic LRO Use gapic-generator-typescript v2.15.1. PiperOrigin-RevId: 456946341 Source-Link: https://github.com/googleapis/googleapis/commit/88fd18d9d3b872b3d06a3d9392879f50b5bf3ce5 Source-Link: https://github.com/googleapis/googleapis-gen/commit/accfa371f667439313335c64042b063c1c53102e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWNjZmEzNzFmNjY3NDM5MzEzMzM1YzY0MDQyYjA2M2MxYzUzMTAyZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../google-cloud-tpu/src/v1/tpu_client.ts | 52 ++++++++++--- .../src/v2alpha1/tpu_client.ts | 78 ++++++++++++++++--- 2 files changed, 106 insertions(+), 24 deletions(-) diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index b29b3989d8f..6d4fbcb8245 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, PaginationCallback, GaxCall, @@ -74,7 +75,7 @@ export class TpuClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -97,11 +98,10 @@ export class TpuClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -207,16 +207,44 @@ export class TpuClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1/{name=projects/*/locations/*}', + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1/{name=projects/*}/locations', + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1/{name=projects/*/locations/*/operations/*}:cancel', + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1/{name=projects/*/locations/*}/operations', + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const createNodeResponse = protoFilesRoot.lookup( '.google.cloud.tpu.v1.Node' diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts index 973373ab701..b8012321a72 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, PaginationCallback, GaxCall, @@ -74,7 +75,7 @@ export class TpuClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -97,11 +98,10 @@ export class TpuClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -204,16 +204,70 @@ export class TpuClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1alpha1/{name=projects/*/locations/*}', + additional_bindings: [ + {get: '/v1/{name=projects/*/locations/*}'}, + {get: '/v2alpha1/{name=projects/*/locations/*}'}, + ], + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1alpha1/{name=projects/*}/locations', + additional_bindings: [ + {get: '/v1/{name=projects/*}/locations'}, + {get: '/v2alpha1/{name=projects/*}/locations'}, + ], + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1alpha1/{name=projects/*/locations/*/operations/*}:cancel', + additional_bindings: [ + {post: '/v1/{name=projects/*/locations/*/operations/*}:cancel'}, + { + post: '/v2alpha1/{name=projects/*/locations/*/operations/*}:cancel', + }, + ], + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1alpha1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + {delete: '/v1/{name=projects/*/locations/*/operations/*}'}, + {delete: '/v2alpha1/{name=projects/*/locations/*/operations/*}'}, + ], + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1alpha1/{name=projects/*/locations/*/operations/*}', + additional_bindings: [ + {get: '/v1/{name=projects/*/locations/*/operations/*}'}, + {get: '/v2alpha1/{name=projects/*/locations/*/operations/*}'}, + ], + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1alpha1/{name=projects/*/locations/*}/operations', + additional_bindings: [ + {get: '/v1/{name=projects/*/locations/*}/operations'}, + {get: '/v2alpha1/{name=projects/*/locations/*}/operations'}, + ], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const createNodeResponse = protoFilesRoot.lookup( '.google.cloud.tpu.v2alpha1.Node' From fd98ff348526e7f894f2839ac43dbd8a6e825abd Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 13 Jul 2022 01:58:14 +0200 Subject: [PATCH 49/64] chore(deps): update dependency linkinator to v4 (#90) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [linkinator](https://togithub.com/JustinBeckwith/linkinator) | [`^2.13.6` -> `^4.0.0`](https://renovatebot.com/diffs/npm/linkinator/2.16.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/compatibility-slim/2.16.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/confidence-slim/2.16.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
JustinBeckwith/linkinator ### [`v4.0.2`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v4.0.2) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v4.0.1...v4.0.2) ##### Bug Fixes - address srcset parsing with multiple spaces ([#​512](https://togithub.com/JustinBeckwith/linkinator/issues/512)) ([fefb5b6](https://togithub.com/JustinBeckwith/linkinator/commit/fefb5b6734fc4ab335793358c5f491338ecbeb90)) ### [`v4.0.1`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v4.0.1) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v4.0.0...v4.0.1) ##### Bug Fixes - properly parse srcset attribute ([#​510](https://togithub.com/JustinBeckwith/linkinator/issues/510)) ([9a8a83c](https://togithub.com/JustinBeckwith/linkinator/commit/9a8a83c35182b3cd4daee62a00f156767fe5c6a7)) ### [`v4.0.0`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v4.0.0) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.1.0...v4.0.0) ##### Features - create new release with notes ([#​508](https://togithub.com/JustinBeckwith/linkinator/issues/508)) ([2cab633](https://togithub.com/JustinBeckwith/linkinator/commit/2cab633c9659eb10794a4bac06f8b0acdc3e2c0c)) ##### BREAKING CHANGES - The commits in [#​507](https://togithub.com/JustinBeckwith/linkinator/issues/507) and [#​506](https://togithub.com/JustinBeckwith/linkinator/issues/506) both had breaking changes. They included dropping support for Node.js 12.x and updating the CSV export to be streaming, and to use a new way of writing the CSV file. This is an empty to commit using the `BREAKING CHANGE` format in the commit message to ensure a release is triggered. ### [`v3.1.0`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.1.0) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.6...v3.1.0) ##### Features - allow --skip to be defined multiple times ([#​399](https://togithub.com/JustinBeckwith/linkinator/issues/399)) ([5ca5a46](https://togithub.com/JustinBeckwith/linkinator/commit/5ca5a461508e688de12e5ae6b4cfb6565f832ebf)) ### [`v3.0.6`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.6) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.5...v3.0.6) ##### Bug Fixes - **deps:** upgrade node-glob to v8 ([#​397](https://togithub.com/JustinBeckwith/linkinator/issues/397)) ([d334dc6](https://togithub.com/JustinBeckwith/linkinator/commit/d334dc6734cd7c2b73d7ed3dea0550a6c3072ad5)) ### [`v3.0.5`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.5) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.4...v3.0.5) ##### Bug Fixes - **deps:** upgrade to htmlparser2 v8.0.1 ([#​396](https://togithub.com/JustinBeckwith/linkinator/issues/396)) ([ba3b9a8](https://togithub.com/JustinBeckwith/linkinator/commit/ba3b9a8a9b19d39af6ed91790135e833b80c1eb6)) ### [`v3.0.4`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.4) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.3...v3.0.4) ##### Bug Fixes - **deps:** update dependency gaxios to v5 ([#​391](https://togithub.com/JustinBeckwith/linkinator/issues/391)) ([48af50e](https://togithub.com/JustinBeckwith/linkinator/commit/48af50e787731204aeb7eff41325c62291311e45)) ### [`v3.0.3`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.3) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.2...v3.0.3) ##### Bug Fixes - export getConfig from index ([#​371](https://togithub.com/JustinBeckwith/linkinator/issues/371)) ([0bc0355](https://togithub.com/JustinBeckwith/linkinator/commit/0bc0355c7e2ea457f247e6b52d1577b8c4ecb3a1)) ### [`v3.0.2`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.2) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.1...v3.0.2) ##### Bug Fixes - allow server root with trailing slash ([#​370](https://togithub.com/JustinBeckwith/linkinator/issues/370)) ([8adf6b0](https://togithub.com/JustinBeckwith/linkinator/commit/8adf6b025fda250e38461f1cdad40fe08c3b3b7c)) ### [`v3.0.1`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.1) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.0.0...v3.0.1) ##### Bug Fixes - decode path parts in local web server ([#​369](https://togithub.com/JustinBeckwith/linkinator/issues/369)) ([4696a0c](https://togithub.com/JustinBeckwith/linkinator/commit/4696a0c38c341b178ed815f47371fca955979feb)) ### [`v3.0.0`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v3.0.0) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v2.16.2...v3.0.0) ##### Bug Fixes - **deps:** update dependency chalk to v5 ([#​362](https://togithub.com/JustinBeckwith/linkinator/issues/362)) ([4b17a8d](https://togithub.com/JustinBeckwith/linkinator/commit/4b17a8d87b649eaf813428f8ee6955e1d21dae4f)) - feat!: convert to es modules, drop node 10 ([#​359](https://togithub.com/JustinBeckwith/linkinator/issues/359)) ([efee299](https://togithub.com/JustinBeckwith/linkinator/commit/efee299ab8a805accef751eecf8538915a4e7783)), closes [#​359](https://togithub.com/JustinBeckwith/linkinator/issues/359) ##### BREAKING CHANGES - this module now requires node.js 12 and above, and has moved to es modules by default.
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index f9f452e9770..021e849cb04 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -50,7 +50,7 @@ "jsdoc": "^3.6.6", "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", - "linkinator": "^2.13.6", + "linkinator": "^4.0.0", "mocha": "^9.2.2", "null-loader": "^4.0.1", "pack-n-play": "^1.0.0-2", From 61d9fd08c9775679562caab55d2d32640a5145a3 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 13 Jul 2022 11:14:54 -0700 Subject: [PATCH 50/64] chore(main): release 2.1.0 (#88) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 2.1.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- packages/google-cloud-tpu/CHANGELOG.md | 7 +++++++ packages/google-cloud-tpu/package.json | 2 +- .../generated/v1/snippet_metadata.google.cloud.tpu.v1.json | 2 +- .../snippet_metadata.google.cloud.tpu.v2alpha1.json | 2 +- packages/google-cloud-tpu/samples/package.json | 2 +- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index 3c7a7c05a42..149355c689b 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 021e849cb04..fdc6988794e 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "2.0.0", + "version": "2.1.0", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json index 388410c14af..f63fff15e2a 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json +++ b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-tpu", - "version": "2.0.0", + "version": "2.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json index 63f9bc41815..645ead9239a 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-tpu", - "version": "2.0.0", + "version": "2.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index b1bd59f5a27..fea86da5554 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^2.0.0" + "@google-cloud/tpu": "^2.1.0" }, "devDependencies": { "c8": "^7.1.0", From ac0133dec14b7dbbeb6c13020a41696ec76a800a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 00:06:24 +0000 Subject: [PATCH 51/64] fix: better support for fallback mode (#91) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 468790263 Source-Link: https://github.com/googleapis/googleapis/commit/873ab456273d105245df0fb82a6c17a814553b80 Source-Link: https://github.com/googleapis/googleapis-gen/commit/cb6f37aeff2a3472e40a7bbace8c67d75e24bee5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiY2I2ZjM3YWVmZjJhMzQ3MmU0MGE3YmJhY2U4YzY3ZDc1ZTI0YmVlNSJ9 --- .../snippet_metadata.google.cloud.tpu.v1.json | 22 +-- .../samples/generated/v1/tpu.create_node.js | 3 + .../samples/generated/v1/tpu.delete_node.js | 3 + .../generated/v1/tpu.get_accelerator_type.js | 3 + .../samples/generated/v1/tpu.get_node.js | 3 + .../v1/tpu.get_tensor_flow_version.js | 3 + .../v1/tpu.list_accelerator_types.js | 3 + .../samples/generated/v1/tpu.list_nodes.js | 3 + .../v1/tpu.list_tensor_flow_versions.js | 3 + .../samples/generated/v1/tpu.reimage_node.js | 3 + .../samples/generated/v1/tpu.start_node.js | 3 + .../samples/generated/v1/tpu.stop_node.js | 3 + ...et_metadata.google.cloud.tpu.v2alpha1.json | 26 +-- .../generated/v2alpha1/tpu.create_node.js | 3 + .../generated/v2alpha1/tpu.delete_node.js | 3 + .../v2alpha1/tpu.generate_service_identity.js | 3 + .../v2alpha1/tpu.get_accelerator_type.js | 3 + .../v2alpha1/tpu.get_guest_attributes.js | 3 + .../generated/v2alpha1/tpu.get_node.js | 3 + .../v2alpha1/tpu.get_runtime_version.js | 3 + .../v2alpha1/tpu.list_accelerator_types.js | 3 + .../generated/v2alpha1/tpu.list_nodes.js | 3 + .../v2alpha1/tpu.list_runtime_versions.js | 3 + .../generated/v2alpha1/tpu.start_node.js | 3 + .../generated/v2alpha1/tpu.stop_node.js | 3 + .../generated/v2alpha1/tpu.update_node.js | 3 + .../google-cloud-tpu/src/v1/tpu_client.ts | 26 +-- .../src/v2alpha1/tpu_client.ts | 26 +-- .../google-cloud-tpu/test/gapic_tpu_v1.ts | 156 +++++++++--------- .../test/gapic_tpu_v2alpha1.ts | 156 +++++++++--------- 30 files changed, 280 insertions(+), 204 deletions(-) diff --git a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json index f63fff15e2a..3934a315725 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json +++ b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 60, + "end": 63, "type": "FULL" } ], @@ -70,7 +70,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -110,7 +110,7 @@ "segments": [ { "start": 25, - "end": 60, + "end": 63, "type": "FULL" } ], @@ -158,7 +158,7 @@ "segments": [ { "start": 25, - "end": 51, + "end": 54, "type": "FULL" } ], @@ -198,7 +198,7 @@ "segments": [ { "start": 25, - "end": 54, + "end": 57, "type": "FULL" } ], @@ -242,7 +242,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -282,7 +282,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -322,7 +322,7 @@ "segments": [ { "start": 25, - "end": 68, + "end": 71, "type": "FULL" } ], @@ -378,7 +378,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -418,7 +418,7 @@ "segments": [ { "start": 25, - "end": 68, + "end": 71, "type": "FULL" } ], @@ -474,7 +474,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js index ae0d66d2bac..35fcf2bec3a 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js @@ -23,6 +23,9 @@ function main(parent, node) { // [START tpu_v1_generated_Tpu_CreateNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js index 5f3eca55139..ad364cdbb8a 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v1_generated_Tpu_DeleteNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js index 44a1a7c96df..b2e8afbdd48 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v1_generated_Tpu_GetAcceleratorType_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js index b1646d49b56..70b0c8ff589 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v1_generated_Tpu_GetNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js index af488dd0833..479389099cd 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v1_generated_Tpu_GetTensorFlowVersion_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js index a316f32453b..9458a1aef12 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js @@ -23,6 +23,9 @@ function main(parent) { // [START tpu_v1_generated_Tpu_ListAcceleratorTypes_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js index 47e8534f3dc..c7165073b90 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js @@ -23,6 +23,9 @@ function main(parent) { // [START tpu_v1_generated_Tpu_ListNodes_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js index 3fce642c2ec..6884855a885 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js @@ -23,6 +23,9 @@ function main(parent) { // [START tpu_v1_generated_Tpu_ListTensorFlowVersions_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js index 009b9076245..5963a05144d 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js @@ -23,6 +23,9 @@ function main() { // [START tpu_v1_generated_Tpu_ReimageNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js index 53eed0e14ac..61d31d20b5a 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js @@ -23,6 +23,9 @@ function main() { // [START tpu_v1_generated_Tpu_StartNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js index 4c15ef2e4b9..e3b7891529f 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js @@ -23,6 +23,9 @@ function main() { // [START tpu_v1_generated_Tpu_StopNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json index 645ead9239a..d5a62c029e8 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 60, + "end": 63, "type": "FULL" } ], @@ -70,7 +70,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -110,7 +110,7 @@ "segments": [ { "start": 25, - "end": 60, + "end": 63, "type": "FULL" } ], @@ -158,7 +158,7 @@ "segments": [ { "start": 25, - "end": 51, + "end": 54, "type": "FULL" } ], @@ -198,7 +198,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -238,7 +238,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -278,7 +278,7 @@ "segments": [ { "start": 25, - "end": 57, + "end": 60, "type": "FULL" } ], @@ -322,7 +322,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -362,7 +362,7 @@ "segments": [ { "start": 25, - "end": 68, + "end": 71, "type": "FULL" } ], @@ -418,7 +418,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -458,7 +458,7 @@ "segments": [ { "start": 25, - "end": 68, + "end": 71, "type": "FULL" } ], @@ -514,7 +514,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -554,7 +554,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js index 6f00c6d0545..e99cae62be7 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js @@ -23,6 +23,9 @@ function main(parent, node) { // [START tpu_v2alpha1_generated_Tpu_CreateNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js index ca7c24c07eb..c61789134fb 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v2alpha1_generated_Tpu_DeleteNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js index 6ffe8b866d9..6120c836015 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js @@ -23,6 +23,9 @@ function main(parent) { // [START tpu_v2alpha1_generated_Tpu_GenerateServiceIdentity_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js index d87f1707e51..c09ba898d76 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v2alpha1_generated_Tpu_GetAcceleratorType_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js index 41f16742291..e6b83bcafac 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v2alpha1_generated_Tpu_GetGuestAttributes_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js index b5ea83c0723..ad9a1a2c833 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v2alpha1_generated_Tpu_GetNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js index ede2a750407..8b9a3ee8556 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js @@ -23,6 +23,9 @@ function main(name) { // [START tpu_v2alpha1_generated_Tpu_GetRuntimeVersion_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js index a835cc1ad84..bbaeacf2d0d 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js @@ -23,6 +23,9 @@ function main(parent) { // [START tpu_v2alpha1_generated_Tpu_ListAcceleratorTypes_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js index ab6542a102d..4a43bdcc192 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js @@ -23,6 +23,9 @@ function main(parent) { // [START tpu_v2alpha1_generated_Tpu_ListNodes_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js index 743c2fb0007..ba51c03858c 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js @@ -23,6 +23,9 @@ function main(parent) { // [START tpu_v2alpha1_generated_Tpu_ListRuntimeVersions_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js index 0d2cc975a80..047f5124c7b 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js @@ -23,6 +23,9 @@ function main() { // [START tpu_v2alpha1_generated_Tpu_StartNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js index cb9551938ce..21ceb97b54b 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js @@ -23,6 +23,9 @@ function main() { // [START tpu_v2alpha1_generated_Tpu_StopNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js index a39e5f32e79..80769d98505 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js @@ -23,6 +23,9 @@ function main(updateMask, node) { // [START tpu_v2alpha1_generated_Tpu_UpdateNode_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index 6d4fbcb8245..77467364f8c 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -30,7 +30,6 @@ import { } from 'google-gax'; import {Transform} from 'stream'; -import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); /** @@ -389,7 +388,8 @@ export class TpuClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -845,7 +845,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.createNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v1.Node, @@ -982,7 +982,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.deleteNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v1.Node, @@ -1121,7 +1121,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.reimageNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v1.Node, @@ -1258,7 +1258,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.stopNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v1.Node, @@ -1395,7 +1395,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.startNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v1.Node, @@ -1531,7 +1531,7 @@ export class TpuClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listNodes.createStream( - this.innerApiCalls.listNodes as gax.GaxCall, + this.innerApiCalls.listNodes as GaxCall, request, callSettings ); @@ -1579,7 +1579,7 @@ export class TpuClient { this.initialize(); return this.descriptors.page.listNodes.asyncIterate( this.innerApiCalls['listNodes'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -1732,7 +1732,7 @@ export class TpuClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listTensorFlowVersions.createStream( - this.innerApiCalls.listTensorFlowVersions as gax.GaxCall, + this.innerApiCalls.listTensorFlowVersions as GaxCall, request, callSettings ); @@ -1784,7 +1784,7 @@ export class TpuClient { this.initialize(); return this.descriptors.page.listTensorFlowVersions.asyncIterate( this.innerApiCalls['listTensorFlowVersions'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -1933,7 +1933,7 @@ export class TpuClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listAcceleratorTypes.createStream( - this.innerApiCalls.listAcceleratorTypes as gax.GaxCall, + this.innerApiCalls.listAcceleratorTypes as GaxCall, request, callSettings ); @@ -1985,7 +1985,7 @@ export class TpuClient { this.initialize(); return this.descriptors.page.listAcceleratorTypes.asyncIterate( this.innerApiCalls['listAcceleratorTypes'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts index b8012321a72..675a640f3a5 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -30,7 +30,6 @@ import { } from 'google-gax'; import {Transform} from 'stream'; -import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); /** @@ -414,7 +413,8 @@ export class TpuClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -1073,7 +1073,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.createNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v2alpha1.Node, @@ -1210,7 +1210,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.deleteNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v2alpha1.Node, @@ -1347,7 +1347,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.stopNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v2alpha1.Node, @@ -1484,7 +1484,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.startNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v2alpha1.Node, @@ -1624,7 +1624,7 @@ export class TpuClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.updateNode, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.tpu.v2alpha1.Node, @@ -1762,7 +1762,7 @@ export class TpuClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listNodes.createStream( - this.innerApiCalls.listNodes as gax.GaxCall, + this.innerApiCalls.listNodes as GaxCall, request, callSettings ); @@ -1810,7 +1810,7 @@ export class TpuClient { this.initialize(); return this.descriptors.page.listNodes.asyncIterate( this.innerApiCalls['listNodes'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -1959,7 +1959,7 @@ export class TpuClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listAcceleratorTypes.createStream( - this.innerApiCalls.listAcceleratorTypes as gax.GaxCall, + this.innerApiCalls.listAcceleratorTypes as GaxCall, request, callSettings ); @@ -2011,7 +2011,7 @@ export class TpuClient { this.initialize(); return this.descriptors.page.listAcceleratorTypes.asyncIterate( this.innerApiCalls['listAcceleratorTypes'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2160,7 +2160,7 @@ export class TpuClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listRuntimeVersions.createStream( - this.innerApiCalls.listRuntimeVersions as gax.GaxCall, + this.innerApiCalls.listRuntimeVersions as GaxCall, request, callSettings ); @@ -2212,7 +2212,7 @@ export class TpuClient { this.initialize(); return this.descriptors.page.listRuntimeVersions.asyncIterate( this.innerApiCalls['listRuntimeVersions'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts index f67ea1d9192..50ca0d5dbd9 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts @@ -145,99 +145,101 @@ function stubAsyncIterationCall( } describe('v1.TpuClient', () => { - it('has servicePath', () => { - const servicePath = tpuModule.v1.TpuClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = tpuModule.v1.TpuClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = tpuModule.v1.TpuClient.port; - assert(port); - assert(typeof port === 'number'); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = tpuModule.v1.TpuClient.servicePath; + assert(servicePath); + }); - it('should create a client with no option', () => { - const client = new tpuModule.v1.TpuClient(); - assert(client); - }); + it('has apiEndpoint', () => { + const apiEndpoint = tpuModule.v1.TpuClient.apiEndpoint; + assert(apiEndpoint); + }); - it('should create a client with gRPC fallback', () => { - const client = new tpuModule.v1.TpuClient({ - fallback: true, + it('has port', () => { + const port = tpuModule.v1.TpuClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new tpuModule.v1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new tpuModule.v1.TpuClient(); + assert(client); }); - assert.strictEqual(client.tpuStub, undefined); - await client.initialize(); - assert(client.tpuStub); - }); - it('has close method for the initialized client', done => { - const client = new tpuModule.v1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with gRPC fallback', () => { + const client = new tpuModule.v1.TpuClient({ + fallback: true, + }); + assert(client); }); - client.initialize(); - assert(client.tpuStub); - client.close().then(() => { - done(); + + it('has initialize method and supports deferred initialization', async () => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + await client.initialize(); + assert(client.tpuStub); }); - }); - it('has close method for the non-initialized client', done => { - const client = new tpuModule.v1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the initialized client', done => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.tpuStub); + client.close().then(() => { + done(); + }); }); - assert.strictEqual(client.tpuStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the non-initialized client', done => { + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new tpuModule.v1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new tpuModule.v1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('getNode', () => { diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts index d6dab153efe..148eb480443 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts @@ -145,99 +145,101 @@ function stubAsyncIterationCall( } describe('v2alpha1.TpuClient', () => { - it('has servicePath', () => { - const servicePath = tpuModule.v2alpha1.TpuClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = tpuModule.v2alpha1.TpuClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = tpuModule.v2alpha1.TpuClient.port; - assert(port); - assert(typeof port === 'number'); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = tpuModule.v2alpha1.TpuClient.servicePath; + assert(servicePath); + }); - it('should create a client with no option', () => { - const client = new tpuModule.v2alpha1.TpuClient(); - assert(client); - }); + it('has apiEndpoint', () => { + const apiEndpoint = tpuModule.v2alpha1.TpuClient.apiEndpoint; + assert(apiEndpoint); + }); - it('should create a client with gRPC fallback', () => { - const client = new tpuModule.v2alpha1.TpuClient({ - fallback: true, + it('has port', () => { + const port = tpuModule.v2alpha1.TpuClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new tpuModule.v2alpha1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new tpuModule.v2alpha1.TpuClient(); + assert(client); }); - assert.strictEqual(client.tpuStub, undefined); - await client.initialize(); - assert(client.tpuStub); - }); - it('has close method for the initialized client', done => { - const client = new tpuModule.v2alpha1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with gRPC fallback', () => { + const client = new tpuModule.v2alpha1.TpuClient({ + fallback: true, + }); + assert(client); }); - client.initialize(); - assert(client.tpuStub); - client.close().then(() => { - done(); + + it('has initialize method and supports deferred initialization', async () => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + await client.initialize(); + assert(client.tpuStub); }); - }); - it('has close method for the non-initialized client', done => { - const client = new tpuModule.v2alpha1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the initialized client', done => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.tpuStub); + client.close().then(() => { + done(); + }); }); - assert.strictEqual(client.tpuStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the non-initialized client', done => { + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.tpuStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new tpuModule.v2alpha1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new tpuModule.v2alpha1.TpuClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new tpuModule.v2alpha1.TpuClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('getNode', () => { From 40b4dd07e6f46bdc948e47b0ff67eb9f00930623 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 07:36:21 +0000 Subject: [PATCH 52/64] fix: change import long to require (#92) Source-Link: https://github.com/googleapis/synthtool/commit/d229a1258999f599a90a9b674a1c5541e00db588 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:74ab2b3c71ef27e6d8b69b1d0a0c9d31447777b79ac3cd4be82c265b45f37e5e --- packages/google-cloud-tpu/protos/protos.d.ts | 788 ++- packages/google-cloud-tpu/protos/protos.js | 4565 +++++++++++++----- packages/google-cloud-tpu/protos/protos.json | 24 + 3 files changed, 4041 insertions(+), 1336 deletions(-) diff --git a/packages/google-cloud-tpu/protos/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts index b6bbcb8323e..c1854712e0f 100644 --- a/packages/google-cloud-tpu/protos/protos.d.ts +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import * as Long from "long"; +import Long = require("long"); import {protobuf as $protobuf} from "google-gax"; /** Namespace google. */ export namespace google { @@ -204,77 +204,77 @@ export namespace google { namespace Tpu { /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#listNodes}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|getAcceleratorType}. * @param error Error, if any * @param [response] AcceleratorType */ @@ -375,6 +375,13 @@ export namespace google { * @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. */ @@ -471,6 +478,13 @@ export namespace google { * @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. */ @@ -669,6 +683,13 @@ export namespace google { * @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 { @@ -811,6 +832,13 @@ export namespace google { * @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. */ @@ -913,6 +941,13 @@ export namespace google { * @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. */ @@ -1003,6 +1038,13 @@ export namespace google { * @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. */ @@ -1105,6 +1147,13 @@ export namespace google { * @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. */ @@ -1195,6 +1244,13 @@ export namespace google { * @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. */ @@ -1291,6 +1347,13 @@ export namespace google { * @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. */ @@ -1381,6 +1444,13 @@ export namespace google { * @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. */ @@ -1471,6 +1541,13 @@ export namespace google { * @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. */ @@ -1567,6 +1644,13 @@ export namespace google { * @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. */ @@ -1657,6 +1741,13 @@ export namespace google { * @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. */ @@ -1771,6 +1862,13 @@ export namespace google { * @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. */ @@ -1873,6 +1971,13 @@ export namespace google { * @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. */ @@ -1969,6 +2074,13 @@ export namespace google { * @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. */ @@ -2059,6 +2171,13 @@ export namespace google { * @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. */ @@ -2173,6 +2292,13 @@ export namespace google { * @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. */ @@ -2275,6 +2401,13 @@ export namespace google { * @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. */ @@ -2401,6 +2534,13 @@ export namespace google { * @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. */ @@ -2509,6 +2649,13 @@ export namespace google { * @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 { @@ -2735,91 +2882,91 @@ export namespace google { namespace Tpu { /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#listNodes}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * 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}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getGuestAttributes}. * @param error Error, if any * @param [response] GetGuestAttributesResponse */ @@ -2920,6 +3067,13 @@ export namespace google { * @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. */ @@ -3010,6 +3164,13 @@ export namespace google { * @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. */ @@ -3112,6 +3273,13 @@ export namespace google { * @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. */ @@ -3208,6 +3376,13 @@ export namespace google { * @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 { @@ -3314,6 +3489,13 @@ export namespace google { * @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. */ @@ -3416,6 +3598,13 @@ export namespace google { * @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. */ @@ -3506,6 +3695,13 @@ export namespace google { * @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. */ @@ -3608,6 +3804,13 @@ export namespace google { * @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. */ @@ -3704,6 +3907,13 @@ export namespace google { * @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. */ @@ -3908,6 +4118,13 @@ export namespace google { * @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 { @@ -4049,6 +4266,13 @@ export namespace google { * @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. */ @@ -4151,6 +4375,13 @@ export namespace google { * @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. */ @@ -4241,6 +4472,13 @@ export namespace google { * @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. */ @@ -4343,6 +4581,13 @@ export namespace google { * @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. */ @@ -4433,6 +4678,13 @@ export namespace google { * @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. */ @@ -4523,6 +4775,13 @@ export namespace google { * @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. */ @@ -4613,6 +4872,13 @@ export namespace google { * @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. */ @@ -4709,6 +4975,13 @@ export namespace google { * @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. */ @@ -4799,6 +5072,13 @@ export namespace google { * @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. */ @@ -4889,6 +5169,13 @@ export namespace google { * @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. */ @@ -4979,6 +5266,13 @@ export namespace google { * @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. */ @@ -5075,6 +5369,13 @@ export namespace google { * @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. */ @@ -5165,6 +5466,13 @@ export namespace google { * @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. */ @@ -5279,6 +5587,13 @@ export namespace google { * @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. */ @@ -5381,6 +5696,13 @@ export namespace google { * @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. */ @@ -5507,6 +5829,13 @@ export namespace google { * @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. */ @@ -5603,6 +5932,13 @@ export namespace google { * @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. */ @@ -5693,6 +6029,13 @@ export namespace google { * @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. */ @@ -5807,6 +6150,13 @@ export namespace google { * @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. */ @@ -5909,6 +6259,13 @@ export namespace google { * @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. */ @@ -6017,6 +6374,13 @@ export namespace google { * @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 { @@ -6133,6 +6497,13 @@ export namespace google { * @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. */ @@ -6223,6 +6594,13 @@ export namespace google { * @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; } } } @@ -6325,6 +6703,13 @@ export namespace google { * @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. */ @@ -6472,6 +6857,13 @@ export namespace google { * @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. */ @@ -6568,6 +6960,13 @@ export namespace google { * @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. */ @@ -6706,6 +7105,13 @@ export namespace google { * @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 { @@ -6818,6 +7224,13 @@ export namespace google { * @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; } } @@ -6912,6 +7325,13 @@ export namespace google { * @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. */ @@ -6952,6 +7372,9 @@ export namespace google { /** FileDescriptorProto syntax */ syntax?: (string|null); + + /** FileDescriptorProto edition */ + edition?: (string|null); } /** Represents a FileDescriptorProto. */ @@ -6999,6 +7422,9 @@ export namespace google { /** FileDescriptorProto syntax. */ public syntax: string; + /** FileDescriptorProto edition. */ + public edition: string; + /** * Creates a new FileDescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -7068,6 +7494,13 @@ export namespace google { * @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. */ @@ -7212,6 +7645,13 @@ export namespace google { * @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 { @@ -7316,6 +7756,13 @@ export namespace google { * @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. */ @@ -7412,6 +7859,13 @@ export namespace google { * @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; } } @@ -7503,6 +7957,13 @@ export namespace google { * @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. */ @@ -7653,6 +8114,13 @@ export namespace google { * @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 { @@ -7781,6 +8249,13 @@ export namespace google { * @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. */ @@ -7895,6 +8370,13 @@ export namespace google { * @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 { @@ -7993,6 +8475,13 @@ export namespace google { * @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; } } @@ -8096,6 +8585,13 @@ export namespace google { * @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. */ @@ -8198,6 +8694,13 @@ export namespace google { * @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. */ @@ -8318,6 +8821,13 @@ export namespace google { * @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. */ @@ -8531,6 +9041,13 @@ export namespace google { * @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 { @@ -8658,6 +9175,13 @@ export namespace google { * @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. */ @@ -8675,6 +9199,9 @@ export namespace google { /** FieldOptions lazy */ lazy?: (boolean|null); + /** FieldOptions unverifiedLazy */ + unverifiedLazy?: (boolean|null); + /** FieldOptions deprecated */ deprecated?: (boolean|null); @@ -8712,6 +9239,9 @@ export namespace google { /** FieldOptions lazy. */ public lazy: boolean; + /** FieldOptions unverifiedLazy. */ + public unverifiedLazy: boolean; + /** FieldOptions deprecated. */ public deprecated: boolean; @@ -8790,6 +9320,13 @@ export namespace google { * @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 { @@ -8897,6 +9434,13 @@ export namespace google { * @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. */ @@ -8999,6 +9543,13 @@ export namespace google { * @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. */ @@ -9095,6 +9646,13 @@ export namespace google { * @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. */ @@ -9197,6 +9755,13 @@ export namespace google { * @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. */ @@ -9308,6 +9873,13 @@ export namespace google { * @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 { @@ -9444,6 +10016,13 @@ export namespace google { * @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 { @@ -9542,6 +10121,13 @@ export namespace google { * @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; } } @@ -9633,6 +10219,13 @@ export namespace google { * @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 { @@ -9749,6 +10342,13 @@ export namespace google { * @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; } } @@ -9840,6 +10440,13 @@ export namespace google { * @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 { @@ -9858,6 +10465,9 @@ export namespace google { /** Annotation end */ end?: (number|null); + + /** Annotation semantic */ + semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null); } /** Represents an Annotation. */ @@ -9881,6 +10491,9 @@ export namespace google { /** 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 @@ -9950,6 +10563,23 @@ export namespace google { * @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 + } } } @@ -10047,6 +10677,13 @@ export namespace google { * @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. */ @@ -10143,6 +10780,13 @@ export namespace google { * @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. */ @@ -10227,6 +10871,13 @@ export namespace google { * @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. */ @@ -10323,6 +10974,13 @@ export namespace google { * @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. */ @@ -10413,6 +11071,13 @@ export namespace google { * @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; } } @@ -10513,35 +11178,35 @@ export namespace google { namespace Operations { /** - * Callback as used by {@link google.longrunning.Operations#listOperations}. + * 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}. + * 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}. + * 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}. + * 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}. + * Callback as used by {@link google.longrunning.Operations|waitOperation}. * @param error Error, if any * @param [response] Operation */ @@ -10663,6 +11328,13 @@ export namespace google { * @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. */ @@ -10753,6 +11425,13 @@ export namespace google { * @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. */ @@ -10861,6 +11540,13 @@ export namespace google { * @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. */ @@ -10957,6 +11643,13 @@ export namespace google { * @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. */ @@ -11047,6 +11740,13 @@ export namespace google { * @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. */ @@ -11137,6 +11837,13 @@ export namespace google { * @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. */ @@ -11233,6 +11940,13 @@ export namespace google { * @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. */ @@ -11329,6 +12043,13 @@ export namespace google { * @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; } } @@ -11435,6 +12156,13 @@ export namespace google { * @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 index d340476f593..c03317e409f 100644 --- a/packages/google-cloud-tpu/protos/protos.js +++ b/packages/google-cloud-tpu/protos/protos.js @@ -99,7 +99,7 @@ }; /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#listNodes}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|listNodes}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ListNodesCallback * @type {function} @@ -132,7 +132,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#getNode}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|getNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef GetNodeCallback * @type {function} @@ -165,7 +165,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#createNode}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|createNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef CreateNodeCallback * @type {function} @@ -198,7 +198,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#deleteNode}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|deleteNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef DeleteNodeCallback * @type {function} @@ -231,7 +231,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#reimageNode}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|reimageNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ReimageNodeCallback * @type {function} @@ -264,7 +264,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#stopNode}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|stopNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef StopNodeCallback * @type {function} @@ -297,7 +297,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#startNode}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|startNode}. * @memberof google.cloud.tpu.v1.Tpu * @typedef StartNodeCallback * @type {function} @@ -330,7 +330,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#listTensorFlowVersions}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|listTensorFlowVersions}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ListTensorFlowVersionsCallback * @type {function} @@ -363,7 +363,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#getTensorFlowVersion}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|getTensorFlowVersion}. * @memberof google.cloud.tpu.v1.Tpu * @typedef GetTensorFlowVersionCallback * @type {function} @@ -396,7 +396,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#listAcceleratorTypes}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|listAcceleratorTypes}. * @memberof google.cloud.tpu.v1.Tpu * @typedef ListAcceleratorTypesCallback * @type {function} @@ -429,7 +429,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v1.Tpu#getAcceleratorType}. + * Callback as used by {@link google.cloud.tpu.v1.Tpu|getAcceleratorType}. * @memberof google.cloud.tpu.v1.Tpu * @typedef GetAcceleratorTypeCallback * @type {function} @@ -567,12 +567,14 @@ 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; + case 1: { + message.preemptible = reader.bool(); + break; + } + case 2: { + message.reserved = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -671,6 +673,21 @@ 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; })(); @@ -777,12 +794,14 @@ 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 1: { + message.ipAddress = reader.string(); + break; + } + case 2: { + message.port = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -881,6 +900,21 @@ 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; })(); @@ -1180,86 +1214,105 @@ 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; + 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; } - 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; @@ -1689,6 +1742,21 @@ 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 @@ -1886,15 +1954,18 @@ 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 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; @@ -2001,6 +2072,21 @@ 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; })(); @@ -2122,19 +2208,22 @@ 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; + 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; @@ -2271,6 +2360,21 @@ 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; })(); @@ -2366,9 +2470,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -2458,6 +2563,21 @@ 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; })(); @@ -2575,15 +2695,18 @@ 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; + 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; @@ -2695,6 +2818,21 @@ 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; })(); @@ -2790,9 +2928,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -2882,6 +3021,21 @@ 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; })(); @@ -2988,12 +3142,14 @@ 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; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.tensorflowVersion = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -3092,6 +3248,21 @@ 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; })(); @@ -3187,9 +3358,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -3279,6 +3451,21 @@ 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; })(); @@ -3374,9 +3561,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -3466,6 +3654,21 @@ 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; })(); @@ -3572,12 +3775,14 @@ 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; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -3676,6 +3881,21 @@ 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; })(); @@ -3771,9 +3991,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -3863,6 +4084,21 @@ 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; })(); @@ -4002,21 +4238,26 @@ 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; + 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; @@ -4139,6 +4380,21 @@ 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; })(); @@ -4260,19 +4516,22 @@ 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; + 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; @@ -4409,6 +4668,21 @@ 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; })(); @@ -4515,12 +4789,14 @@ 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; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.type = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -4619,13 +4895,28 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AcceleratorType; - })(); - - v1.GetAcceleratorTypeRequest = (function() { - /** - * Properties of a GetAcceleratorTypeRequest. + * 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 @@ -4714,9 +5005,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -4806,6 +5098,21 @@ 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; })(); @@ -4945,21 +5252,26 @@ 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; + 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; @@ -5082,6 +5394,21 @@ 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; })(); @@ -5203,19 +5530,22 @@ 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; + 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; @@ -5352,6 +5682,21 @@ 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; })(); @@ -5513,27 +5858,34 @@ 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; + 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; @@ -5682,6 +6034,21 @@ 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; })(); @@ -5810,18 +6177,22 @@ 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; + 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; @@ -5979,6 +6350,21 @@ 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 @@ -6051,7 +6437,7 @@ }; /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#listNodes}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listNodes}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef ListNodesCallback * @type {function} @@ -6084,7 +6470,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#getNode}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getNode}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef GetNodeCallback * @type {function} @@ -6117,7 +6503,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#createNode}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|createNode}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef CreateNodeCallback * @type {function} @@ -6150,7 +6536,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#deleteNode}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|deleteNode}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef DeleteNodeCallback * @type {function} @@ -6183,7 +6569,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#stopNode}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|stopNode}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef StopNodeCallback * @type {function} @@ -6216,7 +6602,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#startNode}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|startNode}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef StartNodeCallback * @type {function} @@ -6249,7 +6635,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#updateNode}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|updateNode}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef UpdateNodeCallback * @type {function} @@ -6282,7 +6668,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#generateServiceIdentity}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|generateServiceIdentity}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef GenerateServiceIdentityCallback * @type {function} @@ -6315,7 +6701,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#listAcceleratorTypes}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listAcceleratorTypes}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef ListAcceleratorTypesCallback * @type {function} @@ -6348,7 +6734,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#getAcceleratorType}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getAcceleratorType}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef GetAcceleratorTypeCallback * @type {function} @@ -6381,7 +6767,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#listRuntimeVersions}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|listRuntimeVersions}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef ListRuntimeVersionsCallback * @type {function} @@ -6414,7 +6800,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#getRuntimeVersion}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getRuntimeVersion}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef GetRuntimeVersionCallback * @type {function} @@ -6447,7 +6833,7 @@ */ /** - * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu#getGuestAttributes}. + * Callback as used by {@link google.cloud.tpu.v2alpha1.Tpu|getGuestAttributes}. * @memberof google.cloud.tpu.v2alpha1.Tpu * @typedef GetGuestAttributesCallback * @type {function} @@ -6585,12 +6971,14 @@ 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; + 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; @@ -6694,6 +7082,21 @@ 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; })(); @@ -6791,11 +7194,12 @@ 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; + 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; @@ -6902,6 +7306,21 @@ 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; })(); @@ -7019,15 +7438,18 @@ 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; + 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; @@ -7134,6 +7556,21 @@ 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; })(); @@ -7240,12 +7677,14 @@ 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; + case 3: { + message.sourceDisk = reader.string(); + break; + } + case 4: { + message.mode = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -7362,6 +7801,21 @@ 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 @@ -7484,12 +7938,14 @@ 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; + case 1: { + message.preemptible = reader.bool(); + break; + } + case 2: { + message.reserved = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -7588,6 +8044,21 @@ 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; })(); @@ -7705,15 +8176,18 @@ 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; + 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; @@ -7825,6 +8299,21 @@ 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; })(); @@ -7920,9 +8409,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.externalIp = reader.string(); - break; + case 1: { + message.externalIp = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -8012,6 +8502,21 @@ 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; })(); @@ -8129,15 +8634,18 @@ 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; + 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; @@ -8244,6 +8752,21 @@ 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; })(); @@ -8352,14 +8875,16 @@ 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; + 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; @@ -8470,6 +8995,21 @@ 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; })(); @@ -8786,112 +9326,132 @@ 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; - } + case 1: { + message.name = reader.string(); + 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; - } + 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; } - 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; default: reader.skipType(tag & 7); break; @@ -9391,6 +9951,21 @@ 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 @@ -9586,15 +10161,18 @@ 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 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; @@ -9701,6 +10279,21 @@ 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; })(); @@ -9822,19 +10415,22 @@ 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; + 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; @@ -9971,6 +10567,21 @@ 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; })(); @@ -10066,9 +10677,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -10158,6 +10770,21 @@ 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; })(); @@ -10275,15 +10902,18 @@ 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; + 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; @@ -10395,6 +11025,21 @@ 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; })(); @@ -10490,9 +11135,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -10582,6 +11228,21 @@ 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; })(); @@ -10677,9 +11338,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -10769,6 +11431,21 @@ 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; })(); @@ -10864,9 +11541,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -10956,6 +11634,21 @@ 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; })(); @@ -11062,12 +11755,14 @@ 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; + 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; @@ -11176,6 +11871,21 @@ 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; })(); @@ -11271,9 +11981,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.email = reader.string(); - break; + case 1: { + message.email = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -11363,6 +12074,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ServiceIdentity + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.ServiceIdentity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceIdentity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.ServiceIdentity"; + }; + return ServiceIdentity; })(); @@ -11458,9 +12184,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -11550,6 +12277,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GenerateServiceIdentityRequest + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GenerateServiceIdentityRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest"; + }; + return GenerateServiceIdentityRequest; })(); @@ -11645,9 +12387,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.identity = $root.google.cloud.tpu.v2alpha1.ServiceIdentity.decode(reader, reader.uint32()); - break; + case 1: { + message.identity = $root.google.cloud.tpu.v2alpha1.ServiceIdentity.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -11742,6 +12485,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GenerateServiceIdentityResponse + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GenerateServiceIdentityResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse"; + }; + return GenerateServiceIdentityResponse; })(); @@ -11848,12 +12606,14 @@ 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; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.type = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -11952,6 +12712,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AcceleratorType + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.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.v2alpha1.AcceleratorType"; + }; + return AcceleratorType; })(); @@ -12047,9 +12822,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -12139,6 +12915,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetAcceleratorTypeRequest + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.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.v2alpha1.GetAcceleratorTypeRequest"; + }; + return GetAcceleratorTypeRequest; })(); @@ -12278,21 +13069,26 @@ 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; + 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; @@ -12415,6 +13211,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListAcceleratorTypesRequest + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesRequest"; + }; + return ListAcceleratorTypesRequest; })(); @@ -12536,19 +13347,22 @@ 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.v2alpha1.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; + case 1: { + if (!(message.acceleratorTypes && message.acceleratorTypes.length)) + message.acceleratorTypes = []; + message.acceleratorTypes.push($root.google.cloud.tpu.v2alpha1.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; @@ -12685,6 +13499,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListAcceleratorTypesResponse + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.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.v2alpha1.ListAcceleratorTypesResponse"; + }; + return ListAcceleratorTypesResponse; })(); @@ -12846,27 +13675,34 @@ 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; + 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; @@ -13015,6 +13851,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.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.v2alpha1.OperationMetadata"; + }; + return OperationMetadata; })(); @@ -13121,12 +13972,14 @@ 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; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.version = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -13225,8 +14078,23 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return RuntimeVersion; - })(); + /** + * Gets the default type url for RuntimeVersion + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.RuntimeVersion + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RuntimeVersion.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.RuntimeVersion"; + }; + + return RuntimeVersion; + })(); v2alpha1.GetRuntimeVersionRequest = (function() { @@ -13320,9 +14188,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -13412,6 +14281,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetRuntimeVersionRequest + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetRuntimeVersionRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest"; + }; + return GetRuntimeVersionRequest; })(); @@ -13551,21 +14435,26 @@ 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; + 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; @@ -13688,6 +14577,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListRuntimeVersionsRequest + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRuntimeVersionsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest"; + }; + return ListRuntimeVersionsRequest; })(); @@ -13809,19 +14713,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.runtimeVersions && message.runtimeVersions.length)) - message.runtimeVersions = []; - message.runtimeVersions.push($root.google.cloud.tpu.v2alpha1.RuntimeVersion.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; + case 1: { + if (!(message.runtimeVersions && message.runtimeVersions.length)) + message.runtimeVersions = []; + message.runtimeVersions.push($root.google.cloud.tpu.v2alpha1.RuntimeVersion.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; @@ -13958,6 +14865,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListRuntimeVersionsResponse + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRuntimeVersionsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.ListRuntimeVersionsResponse"; + }; + return ListRuntimeVersionsResponse; })(); @@ -14086,18 +15008,22 @@ 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; + 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; @@ -14255,6 +15181,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Symptom + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.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.v2alpha1.Symptom"; + }; + /** * SymptomType enum. * @name google.cloud.tpu.v2alpha1.Symptom.SymptomType @@ -14398,17 +15339,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.queryPath = reader.string(); - break; - case 3: - if (!(message.workerIds && message.workerIds.length)) - message.workerIds = []; - message.workerIds.push(reader.string()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.queryPath = reader.string(); + break; + } + case 3: { + if (!(message.workerIds && message.workerIds.length)) + message.workerIds = []; + message.workerIds.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -14528,6 +15472,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetGuestAttributesRequest + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetGuestAttributesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GetGuestAttributesRequest"; + }; + return GetGuestAttributesRequest; })(); @@ -14625,11 +15584,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.guestAttributes && message.guestAttributes.length)) - message.guestAttributes = []; - message.guestAttributes.push($root.google.cloud.tpu.v2alpha1.GuestAttributes.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.guestAttributes && message.guestAttributes.length)) + message.guestAttributes = []; + message.guestAttributes.push($root.google.cloud.tpu.v2alpha1.GuestAttributes.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -14736,6 +15696,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetGuestAttributesResponse + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.GetGuestAttributesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetGuestAttributesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.GetGuestAttributesResponse"; + }; + return GetGuestAttributesResponse; })(); @@ -14862,14 +15837,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.rules && message.rules.length)) - message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); - break; - case 2: - message.fullyDecodeReservedExpansion = reader.bool(); - break; + case 1: { + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + } + case 2: { + message.fullyDecodeReservedExpansion = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -14985,6 +15962,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Http + * @function getTypeUrl + * @memberof google.api.Http + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Http"; + }; + return Http; })(); @@ -15195,38 +16187,48 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.selector = reader.string(); - break; - case 2: - message.get = reader.string(); - break; - case 3: - message.put = reader.string(); - break; - case 4: - message.post = reader.string(); - break; - case 5: - message["delete"] = reader.string(); - break; - case 6: - message.patch = reader.string(); - break; - case 8: - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); - break; - case 7: - message.body = reader.string(); - break; - case 12: - message.responseBody = reader.string(); - break; - case 11: - if (!(message.additionalBindings && message.additionalBindings.length)) - message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); - break; + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + message.get = reader.string(); + break; + } + case 3: { + message.put = reader.string(); + break; + } + case 4: { + message.post = reader.string(); + break; + } + case 5: { + message["delete"] = reader.string(); + break; + } + case 6: { + message.patch = reader.string(); + break; + } + case 8: { + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + break; + } + case 7: { + message.body = reader.string(); + break; + } + case 12: { + message.responseBody = reader.string(); + break; + } + case 11: { + if (!(message.additionalBindings && message.additionalBindings.length)) + message.additionalBindings = []; + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -15448,6 +16450,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for HttpRule + * @function getTypeUrl + * @memberof google.api.HttpRule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.HttpRule"; + }; + return HttpRule; })(); @@ -15554,12 +16571,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.kind = reader.string(); - break; - case 2: - message.path = reader.string(); - break; + case 1: { + message.kind = reader.string(); + break; + } + case 2: { + message.path = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -15658,6 +16677,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CustomHttpPattern + * @function getTypeUrl + * @memberof google.api.CustomHttpPattern + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.CustomHttpPattern"; + }; + return CustomHttpPattern; })(); @@ -15852,36 +16886,43 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - if (!(message.pattern && message.pattern.length)) - message.pattern = []; - message.pattern.push(reader.string()); - break; - case 3: - message.nameField = reader.string(); - break; - case 4: - message.history = reader.int32(); - break; - case 5: - message.plural = reader.string(); - break; - case 6: - message.singular = reader.string(); - break; - case 10: - if (!(message.style && message.style.length)) - message.style = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.type = reader.string(); + break; + } + case 2: { + if (!(message.pattern && message.pattern.length)) + message.pattern = []; + message.pattern.push(reader.string()); + break; + } + case 3: { + message.nameField = reader.string(); + break; + } + case 4: { + message.history = reader.int32(); + break; + } + case 5: { + message.plural = reader.string(); + break; + } + case 6: { + message.singular = reader.string(); + break; + } + case 10: { + if (!(message.style && message.style.length)) + message.style = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.style.push(reader.int32()); + } else message.style.push(reader.int32()); - } else - message.style.push(reader.int32()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -16079,6 +17120,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ResourceDescriptor + * @function getTypeUrl + * @memberof google.api.ResourceDescriptor + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceDescriptor"; + }; + /** * History enum. * @name google.api.ResourceDescriptor.History @@ -16215,12 +17271,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - message.childType = reader.string(); - break; + case 1: { + message.type = reader.string(); + break; + } + case 2: { + message.childType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -16319,6 +17377,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ResourceReference + * @function getTypeUrl + * @memberof google.api.ResourceReference + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceReference"; + }; + return ResourceReference; })(); @@ -16428,11 +17501,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.file && message.file.length)) - message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -16539,6 +17613,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FileDescriptorSet + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorSet"; + }; + return FileDescriptorSet; })(); @@ -16560,6 +17649,7 @@ * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo * @property {string|null} [syntax] FileDescriptorProto syntax + * @property {string|null} [edition] FileDescriptorProto edition */ /** @@ -16680,6 +17770,14 @@ */ FileDescriptorProto.prototype.syntax = ""; + /** + * FileDescriptorProto edition. + * @member {string} edition + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.edition = ""; + /** * Creates a new FileDescriptorProto instance using the specified properties. * @function create @@ -16735,6 +17833,8 @@ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 13, wireType 2 =*/106).string(message.edition); return writer; }; @@ -16769,66 +17869,82 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message["package"] = reader.string(); - break; - case 3: - if (!(message.dependency && message.dependency.length)) - message.dependency = []; - message.dependency.push(reader.string()); - break; - case 10: - if (!(message.publicDependency && message.publicDependency.length)) - message.publicDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message["package"] = reader.string(); + break; + } + case 3: { + if (!(message.dependency && message.dependency.length)) + message.dependency = []; + message.dependency.push(reader.string()); + break; + } + case 10: { + if (!(message.publicDependency && message.publicDependency.length)) + message.publicDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.publicDependency.push(reader.int32()); + } else message.publicDependency.push(reader.int32()); - } else - message.publicDependency.push(reader.int32()); - break; - case 11: - if (!(message.weakDependency && message.weakDependency.length)) - message.weakDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + break; + } + case 11: { + if (!(message.weakDependency && message.weakDependency.length)) + message.weakDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.weakDependency.push(reader.int32()); + } else message.weakDependency.push(reader.int32()); - } else - message.weakDependency.push(reader.int32()); - break; - case 4: - if (!(message.messageType && message.messageType.length)) - message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.service && message.service.length)) - message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); - break; - case 7: - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 8: - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); - break; - case 9: - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); - break; - case 12: - message.syntax = reader.string(); - break; + break; + } + case 4: { + if (!(message.messageType && message.messageType.length)) + message.messageType = []; + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.service && message.service.length)) + message.service = []; + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 8: { + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + break; + } + case 12: { + message.syntax = reader.string(); + break; + } + case 13: { + message.edition = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -16940,6 +18056,9 @@ if (message.syntax != null && message.hasOwnProperty("syntax")) if (!$util.isString(message.syntax)) return "syntax: string expected"; + if (message.edition != null && message.hasOwnProperty("edition")) + if (!$util.isString(message.edition)) + return "edition: string expected"; return null; }; @@ -17032,6 +18151,8 @@ } if (object.syntax != null) message.syntax = String(object.syntax); + if (object.edition != null) + message.edition = String(object.edition); return message; }; @@ -17063,6 +18184,7 @@ object.options = null; object.sourceCodeInfo = null; object.syntax = ""; + object.edition = ""; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -17109,6 +18231,8 @@ } if (message.syntax != null && message.hasOwnProperty("syntax")) object.syntax = message.syntax; + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = message.edition; return object; }; @@ -17123,6 +18247,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FileDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorProto"; + }; + return FileDescriptorProto; })(); @@ -17333,52 +18472,62 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.field && message.field.length)) - message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.nestedType && message.nestedType.length)) - message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.extensionRange && message.extensionRange.length)) - message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.oneofDecl && message.oneofDecl.length)) - message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); - break; - case 7: - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); - break; - case 9: - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); - break; - case 10: - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.field && message.field.length)) + message.field = []; + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.nestedType && message.nestedType.length)) + message.nestedType = []; + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.extensionRange && message.extensionRange.length)) + message.extensionRange = []; + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.oneofDecl && message.oneofDecl.length)) + message.oneofDecl = []; + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + break; + } + case 10: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -17679,6 +18828,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto"; + }; + DescriptorProto.ExtensionRange = (function() { /** @@ -17793,15 +18957,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; - case 3: - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -17913,6 +19080,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExtensionRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange"; + }; + return ExtensionRange; })(); @@ -18019,12 +19201,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -18123,6 +19307,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ReservedRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange"; + }; + return ReservedRange; })(); @@ -18223,11 +19422,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -18334,6 +19534,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExtensionRangeOptions + * @function getTypeUrl + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions"; + }; + return ExtensionRangeOptions; })(); @@ -18539,39 +19754,50 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 3: - message.number = reader.int32(); - break; - case 4: - message.label = reader.int32(); - break; - case 5: - message.type = reader.int32(); - break; - case 6: - message.typeName = reader.string(); - break; - case 2: - message.extendee = reader.string(); - break; - case 7: - message.defaultValue = reader.string(); - break; - case 9: - message.oneofIndex = reader.int32(); - break; - case 10: - message.jsonName = reader.string(); - break; - case 8: - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); - break; - case 17: - message.proto3Optional = reader.bool(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 3: { + message.number = reader.int32(); + break; + } + case 4: { + message.label = reader.int32(); + break; + } + case 5: { + message.type = reader.int32(); + break; + } + case 6: { + message.typeName = reader.string(); + break; + } + case 2: { + message.extendee = reader.string(); + break; + } + case 7: { + message.defaultValue = reader.string(); + break; + } + case 9: { + message.oneofIndex = reader.int32(); + break; + } + case 10: { + message.jsonName = reader.string(); + break; + } + case 8: { + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + break; + } + case 17: { + message.proto3Optional = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -18858,6 +20084,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FieldDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto"; + }; + /** * Type enum. * @name google.protobuf.FieldDescriptorProto.Type @@ -19026,12 +20267,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -19135,6 +20378,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OneofDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto"; + }; + return OneofDescriptorProto; })(); @@ -19280,27 +20538,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.value && message.value.length)) - message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.value && message.value.length)) + message.value = []; + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -19476,6 +20739,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto"; + }; + EnumDescriptorProto.EnumReservedRange = (function() { /** @@ -19579,12 +20857,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -19683,6 +20963,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumReservedRange + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange"; + }; + return EnumReservedRange; })(); @@ -19803,15 +21098,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.number = reader.int32(); - break; - case 3: - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.number = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -19923,6 +21221,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumValueDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto"; + }; + return EnumValueDescriptorProto; })(); @@ -20042,17 +21355,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.method && message.method.length)) - message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.method && message.method.length)) + message.method = []; + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -20182,6 +21498,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ServiceDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceDescriptorProto"; + }; + return ServiceDescriptorProto; })(); @@ -20332,24 +21663,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.inputType = reader.string(); - break; - case 3: - message.outputType = reader.string(); - break; - case 4: - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); - break; - case 5: - message.clientStreaming = reader.bool(); - break; - case 6: - message.serverStreaming = reader.bool(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.inputType = reader.string(); + break; + } + case 3: { + message.outputType = reader.string(); + break; + } + case 4: { + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + break; + } + case 5: { + message.clientStreaming = reader.bool(); + break; + } + case 6: { + message.serverStreaming = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -20485,6 +21822,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for MethodDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodDescriptorProto"; + }; + return MethodDescriptorProto; })(); @@ -20815,76 +22167,98 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.javaPackage = reader.string(); - break; - case 8: - message.javaOuterClassname = reader.string(); - break; - case 10: - message.javaMultipleFiles = reader.bool(); - break; - case 20: - message.javaGenerateEqualsAndHash = reader.bool(); - break; - case 27: - message.javaStringCheckUtf8 = reader.bool(); - break; - case 9: - message.optimizeFor = reader.int32(); - break; - case 11: - message.goPackage = reader.string(); - break; - case 16: - message.ccGenericServices = reader.bool(); - break; - case 17: - message.javaGenericServices = reader.bool(); - break; - case 18: - message.pyGenericServices = reader.bool(); - break; - case 42: - message.phpGenericServices = reader.bool(); - break; - case 23: - message.deprecated = reader.bool(); - break; - case 31: - message.ccEnableArenas = reader.bool(); - break; - case 36: - message.objcClassPrefix = reader.string(); - break; - case 37: - message.csharpNamespace = reader.string(); - break; - case 39: - message.swiftPrefix = reader.string(); - break; - case 40: - message.phpClassPrefix = reader.string(); - break; - case 41: - message.phpNamespace = reader.string(); - break; - case 44: - message.phpMetadataNamespace = reader.string(); - break; - case 45: - message.rubyPackage = reader.string(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1053: - if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) - message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); - break; + case 1: { + message.javaPackage = reader.string(); + break; + } + case 8: { + message.javaOuterClassname = reader.string(); + break; + } + case 10: { + message.javaMultipleFiles = reader.bool(); + break; + } + case 20: { + message.javaGenerateEqualsAndHash = reader.bool(); + break; + } + case 27: { + message.javaStringCheckUtf8 = reader.bool(); + break; + } + case 9: { + message.optimizeFor = reader.int32(); + break; + } + case 11: { + message.goPackage = reader.string(); + break; + } + case 16: { + message.ccGenericServices = reader.bool(); + break; + } + case 17: { + message.javaGenericServices = reader.bool(); + break; + } + case 18: { + message.pyGenericServices = reader.bool(); + break; + } + case 42: { + message.phpGenericServices = reader.bool(); + break; + } + case 23: { + message.deprecated = reader.bool(); + break; + } + case 31: { + message.ccEnableArenas = reader.bool(); + break; + } + case 36: { + message.objcClassPrefix = reader.string(); + break; + } + case 37: { + message.csharpNamespace = reader.string(); + break; + } + case 39: { + message.swiftPrefix = reader.string(); + break; + } + case 40: { + message.phpClassPrefix = reader.string(); + break; + } + case 41: { + message.phpNamespace = reader.string(); + break; + } + case 44: { + message.phpMetadataNamespace = reader.string(); + break; + } + case 45: { + message.rubyPackage = reader.string(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) + message[".google.api.resourceDefinition"] = []; + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -21197,6 +22571,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FileOptions + * @function getTypeUrl + * @memberof google.protobuf.FileOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileOptions"; + }; + /** * OptimizeMode enum. * @name google.protobuf.FileOptions.OptimizeMode @@ -21365,26 +22754,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.messageSetWireFormat = reader.bool(); - break; - case 2: - message.noStandardDescriptorAccessor = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); - break; - case 7: - message.mapEntry = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1053: - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); - break; + case 1: { + message.messageSetWireFormat = reader.bool(); + break; + } + case 2: { + message.noStandardDescriptorAccessor = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 7: { + message.mapEntry = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -21538,6 +22933,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for MessageOptions + * @function getTypeUrl + * @memberof google.protobuf.MessageOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MessageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MessageOptions"; + }; + return MessageOptions; })(); @@ -21551,6 +22961,7 @@ * @property {boolean|null} [packed] FieldOptions packed * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype * @property {boolean|null} [lazy] FieldOptions lazy + * @property {boolean|null} [unverifiedLazy] FieldOptions unverifiedLazy * @property {boolean|null} [deprecated] FieldOptions deprecated * @property {boolean|null} [weak] FieldOptions weak * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption @@ -21607,6 +23018,14 @@ */ FieldOptions.prototype.lazy = false; + /** + * FieldOptions unverifiedLazy. + * @member {boolean} unverifiedLazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.unverifiedLazy = false; + /** * FieldOptions deprecated. * @member {boolean} deprecated @@ -21683,6 +23102,8 @@ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.unverifiedLazy != null && Object.hasOwnProperty.call(message, "unverifiedLazy")) + writer.uint32(/* id 15, wireType 0 =*/120).bool(message.unverifiedLazy); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -21728,42 +23149,55 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.ctype = reader.int32(); - break; - case 2: - message.packed = reader.bool(); - break; - case 6: - message.jstype = reader.int32(); - break; - case 5: - message.lazy = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); - break; - case 10: - message.weak = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1052: - if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) - message[".google.api.fieldBehavior"] = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.ctype = reader.int32(); + break; + } + case 2: { + message.packed = reader.bool(); + break; + } + case 6: { + message.jstype = reader.int32(); + break; + } + case 5: { + message.lazy = reader.bool(); + break; + } + case 15: { + message.unverifiedLazy = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 10: { + message.weak = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1052: { + if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) + message[".google.api.fieldBehavior"] = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message[".google.api.fieldBehavior"].push(reader.int32()); + } else message[".google.api.fieldBehavior"].push(reader.int32()); - } else - message[".google.api.fieldBehavior"].push(reader.int32()); - break; - case 1055: - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); - break; + break; + } + case 1055: { + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -21823,6 +23257,9 @@ if (message.lazy != null && message.hasOwnProperty("lazy")) if (typeof message.lazy !== "boolean") return "lazy: boolean expected"; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + if (typeof message.unverifiedLazy !== "boolean") + return "unverifiedLazy: boolean expected"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -21908,6 +23345,8 @@ } if (object.lazy != null) message.lazy = Boolean(object.lazy); + if (object.unverifiedLazy != null) + message.unverifiedLazy = Boolean(object.unverifiedLazy); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.weak != null) @@ -21995,6 +23434,7 @@ object.lazy = false; object.jstype = options.enums === String ? "JS_NORMAL" : 0; object.weak = false; + object.unverifiedLazy = false; object[".google.api.resourceReference"] = null; } if (message.ctype != null && message.hasOwnProperty("ctype")) @@ -22009,6 +23449,8 @@ object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; if (message.weak != null && message.hasOwnProperty("weak")) object.weak = message.weak; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + object.unverifiedLazy = message.unverifiedLazy; if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -22035,6 +23477,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FieldOptions + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions"; + }; + /** * CType enum. * @name google.protobuf.FieldOptions.CType @@ -22164,11 +23621,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -22275,6 +23733,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OneofOptions + * @function getTypeUrl + * @memberof google.protobuf.OneofOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofOptions"; + }; + return OneofOptions; })(); @@ -22394,17 +23867,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.allowAlias = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 2: { + message.allowAlias = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -22529,6 +24005,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumOptions"; + }; + return EnumOptions; })(); @@ -22637,14 +24128,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.deprecated = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 1: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -22760,6 +24253,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumValueOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueOptions"; + }; + return EnumValueOptions; })(); @@ -22890,20 +24398,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 33: - message.deprecated = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1049: - message[".google.api.defaultHost"] = reader.string(); - break; - case 1050: - message[".google.api.oauthScopes"] = reader.string(); - break; + case 33: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1049: { + message[".google.api.defaultHost"] = reader.string(); + break; + } + case 1050: { + message[".google.api.oauthScopes"] = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -23036,6 +24548,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ServiceOptions + * @function getTypeUrl + * @memberof google.protobuf.ServiceOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceOptions"; + }; + return ServiceOptions; })(); @@ -23190,28 +24717,34 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 33: - message.deprecated = reader.bool(); - break; - case 34: - message.idempotencyLevel = reader.int32(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 72295728: - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); - break; - case 1051: - if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) - message[".google.api.methodSignature"] = []; - message[".google.api.methodSignature"].push(reader.string()); - break; - case 1049: - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); - break; + case 33: { + message.deprecated = reader.bool(); + break; + } + case 34: { + message.idempotencyLevel = reader.int32(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 72295728: { + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + break; + } + case 1051: { + if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) + message[".google.api.methodSignature"] = []; + message[".google.api.methodSignature"].push(reader.string()); + break; + } + case 1049: { + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -23401,6 +24934,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for MethodOptions + * @function getTypeUrl + * @memberof google.protobuf.MethodOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodOptions"; + }; + /** * IdempotencyLevel enum. * @name google.protobuf.MethodOptions.IdempotencyLevel @@ -23580,29 +25128,36 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - if (!(message.name && message.name.length)) - message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); - break; - case 3: - message.identifierValue = reader.string(); - break; - case 4: - message.positiveIntValue = reader.uint64(); - break; - case 5: - message.negativeIntValue = reader.int64(); - break; - case 6: - message.doubleValue = reader.double(); - break; - case 7: - message.stringValue = reader.bytes(); - break; - case 8: - message.aggregateValue = reader.string(); - break; + case 2: { + if (!(message.name && message.name.length)) + message.name = []; + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + break; + } + case 3: { + message.identifierValue = reader.string(); + break; + } + case 4: { + message.positiveIntValue = reader.uint64(); + break; + } + case 5: { + message.negativeIntValue = reader.int64(); + break; + } + case 6: { + message.doubleValue = reader.double(); + break; + } + case 7: { + message.stringValue = reader.bytes(); + break; + } + case 8: { + message.aggregateValue = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -23715,7 +25270,7 @@ if (object.stringValue != null) if (typeof object.stringValue === "string") $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); - else if (object.stringValue.length) + else if (object.stringValue.length >= 0) message.stringValue = object.stringValue; if (object.aggregateValue != null) message.aggregateValue = String(object.aggregateValue); @@ -23796,6 +25351,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UninterpretedOption + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UninterpretedOption.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption"; + }; + UninterpretedOption.NamePart = (function() { /** @@ -23897,12 +25467,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.namePart = reader.string(); - break; - case 2: - message.isExtension = reader.bool(); - break; + case 1: { + message.namePart = reader.string(); + break; + } + case 2: { + message.isExtension = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -24003,6 +25575,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NamePart + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NamePart.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption.NamePart"; + }; + return NamePart; })(); @@ -24103,11 +25690,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.location && message.location.length)) - message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.location && message.location.length)) + message.location = []; + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -24214,6 +25802,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SourceCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SourceCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo"; + }; + SourceCodeInfo.Location = (function() { /** @@ -24362,37 +25965,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - case 2: - if (!(message.span && message.span.length)) - message.span = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + break; + } + case 2: { + if (!(message.span && message.span.length)) + message.span = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.span.push(reader.int32()); + } else message.span.push(reader.int32()); - } else - message.span.push(reader.int32()); - break; - case 3: - message.leadingComments = reader.string(); - break; - case 4: - message.trailingComments = reader.string(); - break; - case 6: - if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) - message.leadingDetachedComments = []; - message.leadingDetachedComments.push(reader.string()); - break; + break; + } + case 3: { + message.leadingComments = reader.string(); + break; + } + case 4: { + message.trailingComments = reader.string(); + break; + } + case 6: { + if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) + message.leadingDetachedComments = []; + message.leadingDetachedComments.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -24553,6 +26161,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Location + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Location.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo.Location"; + }; + return Location; })(); @@ -24653,11 +26276,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotation && message.annotation.length)) - message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotation && message.annotation.length)) + message.annotation = []; + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -24764,6 +26388,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GeneratedCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GeneratedCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo"; + }; + GeneratedCodeInfo.Annotation = (function() { /** @@ -24774,6 +26413,7 @@ * @property {string|null} [sourceFile] Annotation sourceFile * @property {number|null} [begin] Annotation begin * @property {number|null} [end] Annotation end + * @property {google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null} [semantic] Annotation semantic */ /** @@ -24824,6 +26464,14 @@ */ Annotation.prototype.end = 0; + /** + * Annotation semantic. + * @member {google.protobuf.GeneratedCodeInfo.Annotation.Semantic} semantic + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.semantic = 0; + /** * Creates a new Annotation instance using the specified properties. * @function create @@ -24860,6 +26508,8 @@ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); + if (message.semantic != null && Object.hasOwnProperty.call(message, "semantic")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.semantic); return writer; }; @@ -24894,25 +26544,33 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - case 2: - message.sourceFile = reader.string(); - break; - case 3: - message.begin = reader.int32(); - break; - case 4: - message.end = reader.int32(); - break; + break; + } + case 2: { + message.sourceFile = reader.string(); + break; + } + case 3: { + message.begin = reader.int32(); + break; + } + case 4: { + message.end = reader.int32(); + break; + } + case 5: { + message.semantic = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -24964,6 +26622,15 @@ if (message.end != null && message.hasOwnProperty("end")) if (!$util.isInteger(message.end)) return "end: integer expected"; + if (message.semantic != null && message.hasOwnProperty("semantic")) + switch (message.semantic) { + default: + return "semantic: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -24992,6 +26659,20 @@ message.begin = object.begin | 0; if (object.end != null) message.end = object.end | 0; + switch (object.semantic) { + case "NONE": + case 0: + message.semantic = 0; + break; + case "SET": + case 1: + message.semantic = 1; + break; + case "ALIAS": + case 2: + message.semantic = 2; + break; + } return message; }; @@ -25014,6 +26695,7 @@ object.sourceFile = ""; object.begin = 0; object.end = 0; + object.semantic = options.enums === String ? "NONE" : 0; } if (message.path && message.path.length) { object.path = []; @@ -25026,6 +26708,8 @@ object.begin = message.begin; if (message.end != null && message.hasOwnProperty("end")) object.end = message.end; + if (message.semantic != null && message.hasOwnProperty("semantic")) + object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; return object; }; @@ -25040,6 +26724,37 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Annotation + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Annotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo.Annotation"; + }; + + /** + * Semantic enum. + * @name google.protobuf.GeneratedCodeInfo.Annotation.Semantic + * @enum {number} + * @property {number} NONE=0 NONE value + * @property {number} SET=1 SET value + * @property {number} ALIAS=2 ALIAS value + */ + Annotation.Semantic = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NONE"] = 0; + values[valuesById[1] = "SET"] = 1; + values[valuesById[2] = "ALIAS"] = 2; + return values; + })(); + return Annotation; })(); @@ -25149,12 +26864,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type_url = reader.string(); - break; - case 2: - message.value = reader.bytes(); - break; + case 1: { + message.type_url = reader.string(); + break; + } + case 2: { + message.value = reader.bytes(); + break; + } default: reader.skipType(tag & 7); break; @@ -25216,7 +26933,7 @@ if (object.value != null) if (typeof object.value === "string") $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) + else if (object.value.length >= 0) message.value = object.value; return message; }; @@ -25262,6 +26979,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Any + * @function getTypeUrl + * @memberof google.protobuf.Any + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Any.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Any"; + }; + return Any; })(); @@ -25368,12 +27100,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; - case 2: - message.nanos = reader.int32(); - break; + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -25486,6 +27220,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Duration + * @function getTypeUrl + * @memberof google.protobuf.Duration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Duration"; + }; + return Duration; })(); @@ -25646,6 +27395,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Empty + * @function getTypeUrl + * @memberof google.protobuf.Empty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Empty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Empty"; + }; + return Empty; })(); @@ -25752,12 +27516,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; - case 2: - message.nanos = reader.int32(); - break; + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -25870,6 +27636,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Timestamp + * @function getTypeUrl + * @memberof google.protobuf.Timestamp + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Timestamp.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Timestamp"; + }; + return Timestamp; })(); @@ -25967,11 +27748,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.paths && message.paths.length)) - message.paths = []; - message.paths.push(reader.string()); - break; + case 1: { + if (!(message.paths && message.paths.length)) + message.paths = []; + message.paths.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -26073,6 +27855,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FieldMask + * @function getTypeUrl + * @memberof google.protobuf.FieldMask + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldMask.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldMask"; + }; + return FieldMask; })(); @@ -26121,7 +27918,7 @@ }; /** - * Callback as used by {@link google.longrunning.Operations#listOperations}. + * Callback as used by {@link google.longrunning.Operations|listOperations}. * @memberof google.longrunning.Operations * @typedef ListOperationsCallback * @type {function} @@ -26154,7 +27951,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#getOperation}. + * Callback as used by {@link google.longrunning.Operations|getOperation}. * @memberof google.longrunning.Operations * @typedef GetOperationCallback * @type {function} @@ -26187,7 +27984,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#deleteOperation}. + * Callback as used by {@link google.longrunning.Operations|deleteOperation}. * @memberof google.longrunning.Operations * @typedef DeleteOperationCallback * @type {function} @@ -26220,7 +28017,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#cancelOperation}. + * Callback as used by {@link google.longrunning.Operations|cancelOperation}. * @memberof google.longrunning.Operations * @typedef CancelOperationCallback * @type {function} @@ -26253,7 +28050,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#waitOperation}. + * Callback as used by {@link google.longrunning.Operations|waitOperation}. * @memberof google.longrunning.Operations * @typedef WaitOperationCallback * @type {function} @@ -26438,21 +28235,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.done = reader.bool(); - break; - case 4: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 5: - message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } + case 3: { + message.done = reader.bool(); + break; + } + case 4: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 5: { + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -26603,6 +28405,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Operation + * @function getTypeUrl + * @memberof google.longrunning.Operation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Operation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.Operation"; + }; + return Operation; })(); @@ -26698,9 +28515,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -26790,6 +28608,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.GetOperationRequest"; + }; + return GetOperationRequest; })(); @@ -26918,18 +28751,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 4: - message.name = reader.string(); - break; - case 1: - message.filter = reader.string(); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.pageToken = reader.string(); - break; + case 4: { + message.name = reader.string(); + break; + } + case 1: { + message.filter = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -27044,6 +28881,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListOperationsRequest + * @function getTypeUrl + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListOperationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.ListOperationsRequest"; + }; + return ListOperationsRequest; })(); @@ -27152,14 +29004,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.operations && message.operations.length)) - message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.operations && message.operations.length)) + message.operations = []; + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -27275,6 +29129,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListOperationsResponse + * @function getTypeUrl + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListOperationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.ListOperationsResponse"; + }; + return ListOperationsResponse; })(); @@ -27370,9 +29239,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -27462,6 +29332,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CancelOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CancelOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.CancelOperationRequest"; + }; + return CancelOperationRequest; })(); @@ -27557,9 +29442,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -27649,6 +29535,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.DeleteOperationRequest"; + }; + return DeleteOperationRequest; })(); @@ -27755,12 +29656,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -27864,6 +29767,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WaitOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WaitOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.WaitOperationRequest"; + }; + return WaitOperationRequest; })(); @@ -27970,12 +29888,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.responseType = reader.string(); - break; - case 2: - message.metadataType = reader.string(); - break; + case 1: { + message.responseType = reader.string(); + break; + } + case 2: { + message.metadataType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -28074,6 +29994,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OperationInfo + * @function getTypeUrl + * @memberof google.longrunning.OperationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.OperationInfo"; + }; + return OperationInfo; })(); @@ -28205,17 +30140,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.code = reader.int32(); - break; - case 2: - message.message = reader.string(); - break; - case 3: - if (!(message.details && message.details.length)) - message.details = []; - message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; + case 1: { + message.code = reader.int32(); + break; + } + case 2: { + message.message = reader.string(); + break; + } + case 3: { + if (!(message.details && message.details.length)) + message.details = []; + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -28340,6 +30278,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Status + * @function getTypeUrl + * @memberof google.rpc.Status + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Status.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.rpc.Status"; + }; + return Status; })(); diff --git a/packages/google-cloud-tpu/protos/protos.json b/packages/google-cloud-tpu/protos/protos.json index db63670d013..12b7ae80dbf 100644 --- a/packages/google-cloud-tpu/protos/protos.json +++ b/packages/google-cloud-tpu/protos/protos.json @@ -2032,6 +2032,10 @@ "syntax": { "type": "string", "id": 12 + }, + "edition": { + "type": "string", + "id": 13 } } }, @@ -2560,6 +2564,13 @@ "default": false } }, + "unverifiedLazy": { + "type": "bool", + "id": 15, + "options": { + "default": false + } + }, "deprecated": { "type": "bool", "id": 3, @@ -2852,6 +2863,19 @@ "end": { "type": "int32", "id": 4 + }, + "semantic": { + "type": "Semantic", + "id": 5 + } + }, + "nested": { + "Semantic": { + "values": { + "NONE": 0, + "SET": 1, + "ALIAS": 2 + } } } } From 49eccf31a60880498f2012c52a8cbbc522433164 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 27 Aug 2022 05:06:21 +0000 Subject: [PATCH 53/64] fix: do not import the whole google-gax from proto JS (#1553) (#95) fix: use google-gax v3.3.0 Source-Link: https://github.com/googleapis/synthtool/commit/c73d112a11a1f1a93efa67c50495c19aa3a88910 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:b15a6f06cc06dcffa11e1bebdf1a74b6775a134aac24a0f86f51ddf728eb373e --- packages/google-cloud-tpu/package.json | 2 +- packages/google-cloud-tpu/protos/protos.d.ts | 2 +- packages/google-cloud-tpu/protos/protos.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index fdc6988794e..05fbb203890 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -39,7 +39,7 @@ "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { - "google-gax": "^3.0.1" + "google-gax": "^3.3.0" }, "devDependencies": { "@types/mocha": "^9.0.0", diff --git a/packages/google-cloud-tpu/protos/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts index c1854712e0f..832032e70f0 100644 --- a/packages/google-cloud-tpu/protos/protos.d.ts +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -13,7 +13,7 @@ // limitations under the License. import Long = require("long"); -import {protobuf as $protobuf} from "google-gax"; +import type {protobuf as $protobuf} from "google-gax"; /** Namespace google. */ export namespace google { diff --git a/packages/google-cloud-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js index c03317e409f..7326ab0028b 100644 --- a/packages/google-cloud-tpu/protos/protos.js +++ b/packages/google-cloud-tpu/protos/protos.js @@ -19,7 +19,7 @@ define(["protobufjs/minimal"], factory); /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) - module.exports = factory(require("google-gax").protobufMinimal); + module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal); })(this, function($protobuf) { "use strict"; From 510022c9f4359d5438a9a4b5924f2c8fbdea1008 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 20:38:20 +0000 Subject: [PATCH 54/64] fix: allow passing gax instance to client constructor (#96) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 470911839 Source-Link: https://github.com/googleapis/googleapis/commit/352756699ebc5b2144c252867c265ea44448712e Source-Link: https://github.com/googleapis/googleapis-gen/commit/f16a1d224f00a630ea43d6a9a1a31f566f45cdea Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZjE2YTFkMjI0ZjAwYTYzMGVhNDNkNmE5YTFhMzFmNTY2ZjQ1Y2RlYSJ9 feat: accept google-gax instance as a parameter Please see the documentation of the client constructor for details. PiperOrigin-RevId: 470332808 Source-Link: https://github.com/googleapis/googleapis/commit/d4a23675457cd8f0b44080e0594ec72de1291b89 Source-Link: https://github.com/googleapis/googleapis-gen/commit/e97a1ac204ead4fe7341f91e72db7c6ac6016341 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZTk3YTFhYzIwNGVhZDRmZTczNDFmOTFlNzJkYjdjNmFjNjAxNjM0MSJ9 --- .../google-cloud-tpu/src/v1/tpu_client.ts | 106 ++++++++++------- .../src/v2alpha1/tpu_client.ts | 110 ++++++++++-------- 2 files changed, 126 insertions(+), 90 deletions(-) diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index 77467364f8c..766369fac77 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -28,7 +28,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; - import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); @@ -38,7 +37,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './tpu_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -101,8 +99,18 @@ export class TpuClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new TpuClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof TpuClient; const servicePath = @@ -122,8 +130,13 @@ export class TpuClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -318,7 +331,7 @@ export class TpuClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -528,7 +541,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -619,7 +632,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -704,7 +717,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -812,7 +825,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -838,11 +851,12 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.createNode, this._gaxModule.createDefaultBackoffSettings() @@ -949,7 +963,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -975,11 +989,12 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.deleteNode, this._gaxModule.createDefaultBackoffSettings() @@ -1088,7 +1103,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1114,11 +1129,12 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.reimageNode, this._gaxModule.createDefaultBackoffSettings() @@ -1225,7 +1241,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1251,11 +1267,12 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.stopNode, this._gaxModule.createDefaultBackoffSettings() @@ -1362,7 +1379,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1388,11 +1405,12 @@ export class TpuClient { protos.google.cloud.tpu.v1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.startNode, this._gaxModule.createDefaultBackoffSettings() @@ -1486,7 +1504,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1524,7 +1542,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listNodes']; @@ -1571,7 +1589,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listNodes']; @@ -1679,7 +1697,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1725,7 +1743,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listTensorFlowVersions']; @@ -1776,7 +1794,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listTensorFlowVersions']; @@ -1884,7 +1902,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1926,7 +1944,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; @@ -1977,7 +1995,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts index 675a640f3a5..18448272a4c 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -28,7 +28,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; - import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); @@ -38,7 +37,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './tpu_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -101,8 +99,18 @@ export class TpuClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new TpuClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof TpuClient; const servicePath = @@ -122,8 +130,13 @@ export class TpuClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -341,7 +354,7 @@ export class TpuClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -553,7 +566,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -650,7 +663,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -745,7 +758,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -836,7 +849,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -932,7 +945,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1040,7 +1053,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1066,11 +1079,12 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.createNode, this._gaxModule.createDefaultBackoffSettings() @@ -1177,7 +1191,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1203,11 +1217,12 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.deleteNode, this._gaxModule.createDefaultBackoffSettings() @@ -1314,7 +1329,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1340,11 +1355,12 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.stopNode, this._gaxModule.createDefaultBackoffSettings() @@ -1451,7 +1467,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1477,11 +1493,12 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.startNode, this._gaxModule.createDefaultBackoffSettings() @@ -1591,7 +1608,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ 'node.name': request.node!.name || '', }); this.initialize(); @@ -1617,11 +1634,12 @@ export class TpuClient { protos.google.cloud.tpu.v2alpha1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.updateNode, this._gaxModule.createDefaultBackoffSettings() @@ -1717,7 +1735,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1755,7 +1773,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listNodes']; @@ -1802,7 +1820,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listNodes']; @@ -1910,7 +1928,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1952,7 +1970,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; @@ -2003,7 +2021,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; @@ -2111,7 +2129,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2153,7 +2171,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listRuntimeVersions']; @@ -2204,7 +2222,7 @@ export class TpuClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listRuntimeVersions']; From d79141b74b7cdb9c00d913c3c8a15bf90b44f337 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 14 Sep 2022 22:32:23 +0000 Subject: [PATCH 55/64] fix: preserve default values in x-goog-request-params header (#97) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 474338479 Source-Link: https://github.com/googleapis/googleapis/commit/d5d35e0353b59719e8917103b1bc7df2782bf6ba Source-Link: https://github.com/googleapis/googleapis-gen/commit/efcd3f93962a103f68f003e2a1eecde6fa216a27 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWZjZDNmOTM5NjJhMTAzZjY4ZjAwM2UyYTFlZWNkZTZmYTIxNmEyNyJ9 --- .../google-cloud-tpu/src/v1/tpu_client.ts | 34 +- .../src/v2alpha1/tpu_client.ts | 38 +- .../google-cloud-tpu/test/gapic_tpu_v1.ts | 1213 +++++++------- .../test/gapic_tpu_v2alpha1.ts | 1410 ++++++++--------- 4 files changed, 1347 insertions(+), 1348 deletions(-) diff --git a/packages/google-cloud-tpu/src/v1/tpu_client.ts b/packages/google-cloud-tpu/src/v1/tpu_client.ts index 766369fac77..7086123dd39 100644 --- a/packages/google-cloud-tpu/src/v1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v1/tpu_client.ts @@ -542,7 +542,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getNode(request, options, callback); @@ -633,7 +633,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getTensorFlowVersion(request, options, callback); @@ -718,7 +718,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getAcceleratorType(request, options, callback); @@ -826,7 +826,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createNode(request, options, callback); @@ -964,7 +964,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteNode(request, options, callback); @@ -1104,7 +1104,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.reimageNode(request, options, callback); @@ -1242,7 +1242,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.stopNode(request, options, callback); @@ -1380,7 +1380,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.startNode(request, options, callback); @@ -1505,7 +1505,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listNodes(request, options, callback); @@ -1543,7 +1543,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); @@ -1590,7 +1590,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); @@ -1698,7 +1698,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listTensorFlowVersions( @@ -1744,7 +1744,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listTensorFlowVersions']; const callSettings = defaultCallSettings.merge(options); @@ -1795,7 +1795,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listTensorFlowVersions']; const callSettings = defaultCallSettings.merge(options); @@ -1903,7 +1903,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listAcceleratorTypes(request, options, callback); @@ -1945,7 +1945,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; const callSettings = defaultCallSettings.merge(options); @@ -1996,7 +1996,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; const callSettings = defaultCallSettings.merge(options); diff --git a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts index 18448272a4c..9c02d2295a3 100644 --- a/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts +++ b/packages/google-cloud-tpu/src/v2alpha1/tpu_client.ts @@ -567,7 +567,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getNode(request, options, callback); @@ -664,7 +664,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.generateServiceIdentity( @@ -759,7 +759,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getAcceleratorType(request, options, callback); @@ -850,7 +850,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getRuntimeVersion(request, options, callback); @@ -946,7 +946,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getGuestAttributes(request, options, callback); @@ -1054,7 +1054,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createNode(request, options, callback); @@ -1192,7 +1192,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteNode(request, options, callback); @@ -1330,7 +1330,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.stopNode(request, options, callback); @@ -1468,7 +1468,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.startNode(request, options, callback); @@ -1609,7 +1609,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'node.name': request.node!.name || '', + 'node.name': request.node!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateNode(request, options, callback); @@ -1736,7 +1736,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listNodes(request, options, callback); @@ -1774,7 +1774,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); @@ -1821,7 +1821,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); @@ -1929,7 +1929,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listAcceleratorTypes(request, options, callback); @@ -1971,7 +1971,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; const callSettings = defaultCallSettings.merge(options); @@ -2022,7 +2022,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listAcceleratorTypes']; const callSettings = defaultCallSettings.merge(options); @@ -2130,7 +2130,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listRuntimeVersions(request, options, callback); @@ -2172,7 +2172,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listRuntimeVersions']; const callSettings = defaultCallSettings.merge(options); @@ -2223,7 +2223,7 @@ export class TpuClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listRuntimeVersions']; const callSettings = defaultCallSettings.merge(options); diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts index 50ca0d5dbd9..7a319c263ab 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -252,26 +267,23 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v1.Node() ); client.innerApiCalls.getNode = stubSimpleCall(expectedResponse); const [response] = await client.getNode(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.getNode as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getNode without error using callback', async () => { @@ -283,15 +295,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v1.Node() ); @@ -314,11 +320,14 @@ describe('v1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = (client.innerApiCalls.getNode as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getNode with error', async () => { @@ -330,23 +339,20 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getNode = stubSimpleCall(undefined, expectedError); await assert.rejects(client.getNode(request), expectedError); - assert( - (client.innerApiCalls.getNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.getNode as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getNode with closed client', async () => { @@ -358,7 +364,8 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getNode(request), expectedError); @@ -375,15 +382,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v1.TensorFlowVersion() ); @@ -391,11 +394,14 @@ describe('v1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.getTensorFlowVersion(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getTensorFlowVersion as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getTensorFlowVersion as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getTensorFlowVersion as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getTensorFlowVersion without error using callback', async () => { @@ -407,15 +413,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v1.TensorFlowVersion() ); @@ -438,11 +440,14 @@ describe('v1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getTensorFlowVersion as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getTensorFlowVersion as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getTensorFlowVersion as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getTensorFlowVersion with error', async () => { @@ -454,26 +459,25 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getTensorFlowVersion = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getTensorFlowVersion(request), expectedError); - assert( - (client.innerApiCalls.getTensorFlowVersion as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getTensorFlowVersion as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getTensorFlowVersion as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getTensorFlowVersion with closed client', async () => { @@ -485,7 +489,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getTensorFlowVersion(request), expectedError); @@ -502,15 +509,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v1.AcceleratorType() ); @@ -518,11 +521,14 @@ describe('v1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.getAcceleratorType(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getAcceleratorType as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getAcceleratorType without error using callback', async () => { @@ -534,15 +540,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v1.AcceleratorType() ); @@ -565,11 +567,14 @@ describe('v1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getAcceleratorType as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getAcceleratorType with error', async () => { @@ -581,26 +586,25 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getAcceleratorType = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getAcceleratorType(request), expectedError); - assert( - (client.innerApiCalls.getAcceleratorType as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getAcceleratorType with closed client', async () => { @@ -612,7 +616,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getAcceleratorType(request), expectedError); @@ -629,15 +636,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -645,11 +648,14 @@ describe('v1.TpuClient', () => { const [operation] = await client.createNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createNode without error using callback', async () => { @@ -661,15 +667,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -699,11 +701,14 @@ describe('v1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createNode with call error', async () => { @@ -715,26 +720,25 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.createNode(request), expectedError); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createNode with LRO error', async () => { @@ -746,15 +750,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createNode = stubLongRunningCall( undefined, @@ -763,11 +763,14 @@ describe('v1.TpuClient', () => { ); const [operation] = await client.createNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkCreateNodeProgress without error', async () => { @@ -819,15 +822,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -835,11 +832,14 @@ describe('v1.TpuClient', () => { const [operation] = await client.deleteNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteNode without error using callback', async () => { @@ -851,15 +851,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -889,11 +883,14 @@ describe('v1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteNode with call error', async () => { @@ -905,26 +902,23 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.deleteNode(request), expectedError); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteNode with LRO error', async () => { @@ -936,15 +930,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteNode = stubLongRunningCall( undefined, @@ -953,11 +941,14 @@ describe('v1.TpuClient', () => { ); const [operation] = await client.deleteNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkDeleteNodeProgress without error', async () => { @@ -1009,15 +1000,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1025,11 +1010,14 @@ describe('v1.TpuClient', () => { const [operation] = await client.reimageNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.reimageNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes reimageNode without error using callback', async () => { @@ -1041,15 +1029,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1079,11 +1061,14 @@ describe('v1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.reimageNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes reimageNode with call error', async () => { @@ -1095,26 +1080,23 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.reimageNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.reimageNode(request), expectedError); - assert( - (client.innerApiCalls.reimageNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes reimageNode with LRO error', async () => { @@ -1126,15 +1108,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.reimageNode = stubLongRunningCall( undefined, @@ -1143,11 +1119,14 @@ describe('v1.TpuClient', () => { ); const [operation] = await client.reimageNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.reimageNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.reimageNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkReimageNodeProgress without error', async () => { @@ -1199,15 +1178,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1215,11 +1188,14 @@ describe('v1.TpuClient', () => { const [operation] = await client.stopNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes stopNode without error using callback', async () => { @@ -1231,15 +1207,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1269,11 +1239,14 @@ describe('v1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes stopNode with call error', async () => { @@ -1285,26 +1258,23 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.stopNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.stopNode(request), expectedError); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes stopNode with LRO error', async () => { @@ -1316,15 +1286,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.stopNode = stubLongRunningCall( undefined, @@ -1333,11 +1297,14 @@ describe('v1.TpuClient', () => { ); const [operation] = await client.stopNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkStopNodeProgress without error', async () => { @@ -1389,15 +1356,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1405,11 +1366,14 @@ describe('v1.TpuClient', () => { const [operation] = await client.startNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes startNode without error using callback', async () => { @@ -1421,15 +1385,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1459,11 +1417,14 @@ describe('v1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes startNode with call error', async () => { @@ -1475,26 +1436,23 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.startNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.startNode(request), expectedError); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes startNode with LRO error', async () => { @@ -1506,15 +1464,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.startNode = stubLongRunningCall( undefined, @@ -1523,11 +1475,14 @@ describe('v1.TpuClient', () => { ); const [operation] = await client.startNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkStartNodeProgress without error', async () => { @@ -1579,15 +1534,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), @@ -1596,11 +1545,14 @@ describe('v1.TpuClient', () => { client.innerApiCalls.listNodes = stubSimpleCall(expectedResponse); const [response] = await client.listNodes(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listNodes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listNodes without error using callback', async () => { @@ -1612,15 +1564,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), @@ -1645,11 +1591,14 @@ describe('v1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listNodes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listNodes with error', async () => { @@ -1661,23 +1610,20 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listNodes = stubSimpleCall(undefined, expectedError); await assert.rejects(client.listNodes(request), expectedError); - assert( - (client.innerApiCalls.listNodes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listNodesStream without error', async () => { @@ -1689,8 +1635,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), @@ -1718,10 +1665,12 @@ describe('v1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listNodes, request) ); - assert.strictEqual( - (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1734,8 +1683,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listNodes.createStream = stubPageStreamingCall( undefined, @@ -1760,10 +1710,12 @@ describe('v1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listNodes, request) ); - assert.strictEqual( - (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1776,8 +1728,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v1.Node()), @@ -1796,10 +1749,12 @@ describe('v1.TpuClient', () => { .args[1], request ); - assert.strictEqual( - (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1812,8 +1767,9 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listNodes.asyncIterate = stubAsyncIterationCall( undefined, @@ -1831,10 +1787,12 @@ describe('v1.TpuClient', () => { .args[1], request ); - assert.strictEqual( - (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -1849,15 +1807,12 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'ListTensorFlowVersionsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v1.TensorFlowVersion() @@ -1873,11 +1828,14 @@ describe('v1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listTensorFlowVersions(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listTensorFlowVersions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listTensorFlowVersions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listTensorFlowVersions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listTensorFlowVersions without error using callback', async () => { @@ -1889,15 +1847,12 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'ListTensorFlowVersionsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v1.TensorFlowVersion() @@ -1928,11 +1883,14 @@ describe('v1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listTensorFlowVersions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listTensorFlowVersions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listTensorFlowVersions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listTensorFlowVersions with error', async () => { @@ -1944,15 +1902,12 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'ListTensorFlowVersionsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listTensorFlowVersions = stubSimpleCall( undefined, @@ -1962,11 +1917,14 @@ describe('v1.TpuClient', () => { client.listTensorFlowVersions(request), expectedError ); - assert( - (client.innerApiCalls.listTensorFlowVersions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listTensorFlowVersions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listTensorFlowVersions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listTensorFlowVersionsStream without error', async () => { @@ -1978,8 +1936,12 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListTensorFlowVersionsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v1.TensorFlowVersion() @@ -2019,12 +1981,15 @@ describe('v1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listTensorFlowVersions, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listTensorFlowVersions .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2037,8 +2002,12 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListTensorFlowVersionsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listTensorFlowVersions.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2067,12 +2036,15 @@ describe('v1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listTensorFlowVersions, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listTensorFlowVersions .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2085,8 +2057,12 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListTensorFlowVersionsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v1.TensorFlowVersion() @@ -2113,12 +2089,15 @@ describe('v1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listTensorFlowVersions .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2131,8 +2110,12 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + 'ListTensorFlowVersionsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listTensorFlowVersions.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2150,12 +2133,15 @@ describe('v1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listTensorFlowVersions .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2170,15 +2156,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), @@ -2188,11 +2170,14 @@ describe('v1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listAcceleratorTypes(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listAcceleratorTypes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listAcceleratorTypes without error using callback', async () => { @@ -2204,15 +2189,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), @@ -2237,11 +2218,14 @@ describe('v1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listAcceleratorTypes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listAcceleratorTypes with error', async () => { @@ -2253,26 +2237,25 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listAcceleratorTypes = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listAcceleratorTypes(request), expectedError); - assert( - (client.innerApiCalls.listAcceleratorTypes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listAcceleratorTypesStream without error', async () => { @@ -2284,8 +2267,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), @@ -2316,11 +2302,12 @@ describe('v1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listAcceleratorTypes, request) ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2333,8 +2320,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listAcceleratorTypes.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2360,11 +2350,12 @@ describe('v1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listAcceleratorTypes, request) ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2377,8 +2368,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), generateSampleMessage(new protos.google.cloud.tpu.v1.AcceleratorType()), @@ -2398,11 +2392,12 @@ describe('v1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2415,8 +2410,11 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listAcceleratorTypes.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2433,11 +2431,12 @@ describe('v1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts index 148eb480443..56eee6c8fd5 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -252,26 +267,23 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.Node() ); client.innerApiCalls.getNode = stubSimpleCall(expectedResponse); const [response] = await client.getNode(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.getNode as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getNode without error using callback', async () => { @@ -283,15 +295,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.Node() ); @@ -314,11 +320,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = (client.innerApiCalls.getNode as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getNode with error', async () => { @@ -330,23 +339,20 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getNode = stubSimpleCall(undefined, expectedError); await assert.rejects(client.getNode(request), expectedError); - assert( - (client.innerApiCalls.getNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = (client.innerApiCalls.getNode as SinonStub).getCall( + 0 + ).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getNode with closed client', async () => { @@ -358,7 +364,8 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getNode(request), expectedError); @@ -375,15 +382,12 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse() ); @@ -391,11 +395,14 @@ describe('v2alpha1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.generateServiceIdentity(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.generateServiceIdentity as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes generateServiceIdentity without error using callback', async () => { @@ -407,15 +414,12 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityResponse() ); @@ -438,11 +442,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.generateServiceIdentity as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes generateServiceIdentity with error', async () => { @@ -454,15 +461,12 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + 'GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.generateServiceIdentity = stubSimpleCall( undefined, @@ -472,11 +476,14 @@ describe('v2alpha1.TpuClient', () => { client.generateServiceIdentity(request), expectedError ); - assert( - (client.innerApiCalls.generateServiceIdentity as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes generateServiceIdentity with closed client', async () => { @@ -488,7 +495,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + 'GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -508,15 +519,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.AcceleratorType() ); @@ -524,11 +531,14 @@ describe('v2alpha1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.getAcceleratorType(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getAcceleratorType as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getAcceleratorType without error using callback', async () => { @@ -540,15 +550,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.AcceleratorType() ); @@ -571,11 +577,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getAcceleratorType as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getAcceleratorType with error', async () => { @@ -587,26 +596,25 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getAcceleratorType = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getAcceleratorType(request), expectedError); - assert( - (client.innerApiCalls.getAcceleratorType as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getAcceleratorType as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getAcceleratorType with closed client', async () => { @@ -618,7 +626,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getAcceleratorType(request), expectedError); @@ -635,26 +646,25 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() ); client.innerApiCalls.getRuntimeVersion = stubSimpleCall(expectedResponse); const [response] = await client.getRuntimeVersion(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getRuntimeVersion as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getRuntimeVersion as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRuntimeVersion as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getRuntimeVersion without error using callback', async () => { @@ -666,15 +676,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() ); @@ -697,11 +703,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getRuntimeVersion as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getRuntimeVersion as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRuntimeVersion as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getRuntimeVersion with error', async () => { @@ -713,26 +722,25 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getRuntimeVersion = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getRuntimeVersion(request), expectedError); - assert( - (client.innerApiCalls.getRuntimeVersion as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getRuntimeVersion as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRuntimeVersion as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getRuntimeVersion with closed client', async () => { @@ -744,7 +752,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getRuntimeVersion(request), expectedError); @@ -761,15 +772,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesResponse() ); @@ -777,11 +784,14 @@ describe('v2alpha1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.getGuestAttributes(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getGuestAttributes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getGuestAttributes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getGuestAttributes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getGuestAttributes without error using callback', async () => { @@ -793,15 +803,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesResponse() ); @@ -824,11 +830,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getGuestAttributes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getGuestAttributes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getGuestAttributes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getGuestAttributes with error', async () => { @@ -840,26 +849,25 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ + 'name', + ]); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getGuestAttributes = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getGuestAttributes(request), expectedError); - assert( - (client.innerApiCalls.getGuestAttributes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getGuestAttributes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getGuestAttributes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getGuestAttributes with closed client', async () => { @@ -871,7 +879,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ + 'name', + ]); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getGuestAttributes(request), expectedError); @@ -888,15 +899,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -904,11 +911,14 @@ describe('v2alpha1.TpuClient', () => { const [operation] = await client.createNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createNode without error using callback', async () => { @@ -920,15 +930,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -958,11 +964,14 @@ describe('v2alpha1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createNode with call error', async () => { @@ -974,26 +983,25 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.createNode(request), expectedError); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createNode with LRO error', async () => { @@ -1005,15 +1013,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createNode = stubLongRunningCall( undefined, @@ -1022,11 +1026,14 @@ describe('v2alpha1.TpuClient', () => { ); const [operation] = await client.createNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.createNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkCreateNodeProgress without error', async () => { @@ -1078,15 +1085,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1094,11 +1095,14 @@ describe('v2alpha1.TpuClient', () => { const [operation] = await client.deleteNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteNode without error using callback', async () => { @@ -1110,15 +1114,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1148,11 +1146,14 @@ describe('v2alpha1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteNode with call error', async () => { @@ -1164,26 +1165,23 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.deleteNode(request), expectedError); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteNode with LRO error', async () => { @@ -1195,15 +1193,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteNode = stubLongRunningCall( undefined, @@ -1212,11 +1204,14 @@ describe('v2alpha1.TpuClient', () => { ); const [operation] = await client.deleteNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.deleteNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkDeleteNodeProgress without error', async () => { @@ -1268,15 +1263,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1284,11 +1273,14 @@ describe('v2alpha1.TpuClient', () => { const [operation] = await client.stopNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes stopNode without error using callback', async () => { @@ -1300,15 +1292,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1338,11 +1324,14 @@ describe('v2alpha1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes stopNode with call error', async () => { @@ -1354,26 +1343,23 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.stopNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.stopNode(request), expectedError); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes stopNode with LRO error', async () => { @@ -1385,15 +1371,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.stopNode = stubLongRunningCall( undefined, @@ -1402,11 +1382,14 @@ describe('v2alpha1.TpuClient', () => { ); const [operation] = await client.stopNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.stopNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.stopNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkStopNodeProgress without error', async () => { @@ -1458,15 +1441,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1474,11 +1451,14 @@ describe('v2alpha1.TpuClient', () => { const [operation] = await client.startNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes startNode without error using callback', async () => { @@ -1490,15 +1470,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1528,11 +1502,14 @@ describe('v2alpha1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes startNode with call error', async () => { @@ -1544,26 +1521,23 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.startNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.startNode(request), expectedError); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes startNode with LRO error', async () => { @@ -1575,15 +1549,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.startNode = stubLongRunningCall( undefined, @@ -1592,11 +1560,14 @@ describe('v2alpha1.TpuClient', () => { ); const [operation] = await client.startNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.startNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.startNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkStartNodeProgress without error', async () => { @@ -1648,16 +1619,13 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); - request.node = {}; - request.node.name = ''; - const expectedHeaderRequestParams = 'node.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.node ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ + 'node', + 'name', + ]); + request.node.name = defaultValue1; + const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1665,11 +1633,14 @@ describe('v2alpha1.TpuClient', () => { const [operation] = await client.updateNode(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateNode without error using callback', async () => { @@ -1681,16 +1652,13 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); - request.node = {}; - request.node.name = ''; - const expectedHeaderRequestParams = 'node.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.node ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ + 'node', + 'name', + ]); + request.node.name = defaultValue1; + const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1720,11 +1688,14 @@ describe('v2alpha1.TpuClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateNode with call error', async () => { @@ -1736,27 +1707,27 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); - request.node = {}; - request.node.name = ''; - const expectedHeaderRequestParams = 'node.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.node ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ + 'node', + 'name', + ]); + request.node.name = defaultValue1; + const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateNode = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.updateNode(request), expectedError); - assert( - (client.innerApiCalls.updateNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateNode with LRO error', async () => { @@ -1768,16 +1739,13 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); - request.node = {}; - request.node.name = ''; - const expectedHeaderRequestParams = 'node.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.node ??= {}; + const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ + 'node', + 'name', + ]); + request.node.name = defaultValue1; + const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateNode = stubLongRunningCall( undefined, @@ -1786,11 +1754,14 @@ describe('v2alpha1.TpuClient', () => { ); const [operation] = await client.updateNode(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.updateNode as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateNode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkUpdateNodeProgress without error', async () => { @@ -1842,15 +1813,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), @@ -1859,11 +1824,14 @@ describe('v2alpha1.TpuClient', () => { client.innerApiCalls.listNodes = stubSimpleCall(expectedResponse); const [response] = await client.listNodes(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listNodes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listNodes without error using callback', async () => { @@ -1875,15 +1843,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), @@ -1908,11 +1870,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listNodes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listNodes with error', async () => { @@ -1924,23 +1889,20 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listNodes = stubSimpleCall(undefined, expectedError); await assert.rejects(client.listNodes(request), expectedError); - assert( - (client.innerApiCalls.listNodes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listNodes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listNodesStream without error', async () => { @@ -1952,8 +1914,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), @@ -1981,10 +1944,12 @@ describe('v2alpha1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listNodes, request) ); - assert.strictEqual( - (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -1997,8 +1962,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listNodes.createStream = stubPageStreamingCall( undefined, @@ -2023,10 +1989,12 @@ describe('v2alpha1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listNodes, request) ); - assert.strictEqual( - (client.descriptors.page.listNodes.createStream as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2039,8 +2007,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), generateSampleMessage(new protos.google.cloud.tpu.v2alpha1.Node()), @@ -2059,10 +2028,12 @@ describe('v2alpha1.TpuClient', () => { .args[1], request ); - assert.strictEqual( - (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2075,8 +2046,9 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listNodes.asyncIterate = stubAsyncIterationCall( undefined, @@ -2094,10 +2066,12 @@ describe('v2alpha1.TpuClient', () => { .args[1], request ); - assert.strictEqual( - (client.descriptors.page.listNodes.asyncIterate as SinonStub).getCall(0) - .args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listNodes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2112,15 +2086,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.AcceleratorType() @@ -2136,11 +2106,14 @@ describe('v2alpha1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listAcceleratorTypes(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listAcceleratorTypes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listAcceleratorTypes without error using callback', async () => { @@ -2152,15 +2125,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.AcceleratorType() @@ -2191,11 +2160,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listAcceleratorTypes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listAcceleratorTypes with error', async () => { @@ -2207,26 +2179,25 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listAcceleratorTypes = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listAcceleratorTypes(request), expectedError); - assert( - (client.innerApiCalls.listAcceleratorTypes as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAcceleratorTypes as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listAcceleratorTypesStream without error', async () => { @@ -2238,8 +2209,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.AcceleratorType() @@ -2277,11 +2251,12 @@ describe('v2alpha1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listAcceleratorTypes, request) ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2294,8 +2269,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listAcceleratorTypes.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2322,11 +2300,12 @@ describe('v2alpha1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listAcceleratorTypes, request) ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2339,8 +2318,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.AcceleratorType() @@ -2366,11 +2348,12 @@ describe('v2alpha1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2383,8 +2366,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listAcceleratorTypes.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2402,11 +2388,12 @@ describe('v2alpha1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listAcceleratorTypes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2421,15 +2408,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() @@ -2445,11 +2428,14 @@ describe('v2alpha1.TpuClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listRuntimeVersions(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listRuntimeVersions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listRuntimeVersions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRuntimeVersions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listRuntimeVersions without error using callback', async () => { @@ -2461,15 +2447,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() @@ -2500,11 +2482,14 @@ describe('v2alpha1.TpuClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listRuntimeVersions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listRuntimeVersions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRuntimeVersions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listRuntimeVersions with error', async () => { @@ -2516,26 +2501,25 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listRuntimeVersions = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listRuntimeVersions(request), expectedError); - assert( - (client.innerApiCalls.listRuntimeVersions as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listRuntimeVersions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRuntimeVersions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listRuntimeVersionsStream without error', async () => { @@ -2547,8 +2531,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() @@ -2585,11 +2572,12 @@ describe('v2alpha1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listRuntimeVersions, request) ); - assert.strictEqual( - ( - client.descriptors.page.listRuntimeVersions.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listRuntimeVersions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2602,8 +2590,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listRuntimeVersions.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2629,11 +2620,12 @@ describe('v2alpha1.TpuClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listRuntimeVersions, request) ); - assert.strictEqual( - ( - client.descriptors.page.listRuntimeVersions.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listRuntimeVersions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2646,8 +2638,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.RuntimeVersion() @@ -2673,11 +2668,12 @@ describe('v2alpha1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2690,8 +2686,11 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ + 'parent', + ]); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listRuntimeVersions.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2709,11 +2708,12 @@ describe('v2alpha1.TpuClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listRuntimeVersions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); From 50104982f76556b05f8fba4a7619c00fb6d84ce4 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 15 Sep 2022 18:37:04 -0700 Subject: [PATCH 56/64] feat: Add Secure Boot support to TPU v2alpha1 API (#98) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Add Secure Boot support to TPU v2alpha1 API PiperOrigin-RevId: 474644226 Source-Link: https://github.com/googleapis/googleapis/commit/f90b329a7eb583a21a20796892b993e91e8ccf34 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4ad8763bde676f92a3eb70753ae1cfed0e81387e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGFkODc2M2JkZTY3NmY5MmEzZWI3MDc1M2FlMWNmZWQwZTgxMzg3ZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../google/cloud/tpu/v2alpha1/cloud_tpu.proto | 11 +- packages/google-cloud-tpu/protos/protos.d.ts | 103 ++++++++ packages/google-cloud-tpu/protos/protos.js | 231 ++++++++++++++++++ packages/google-cloud-tpu/protos/protos.json | 12 + 4 files changed, 356 insertions(+), 1 deletion(-) 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 index d805128fc1c..612e1c4f5dd 100644 --- 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 @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. @@ -448,6 +448,9 @@ message Node { // 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]. @@ -780,3 +783,9 @@ 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 index 832032e70f0..f34274cca99 100644 --- a/packages/google-cloud-tpu/protos/protos.d.ts +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -3978,6 +3978,9 @@ export namespace google { /** Node symptoms */ symptoms?: (google.cloud.tpu.v2alpha1.ISymptom[]|null); + + /** Node shieldedInstanceConfig */ + shieldedInstanceConfig?: (google.cloud.tpu.v2alpha1.IShieldedInstanceConfig|null); } /** Represents a Node. */ @@ -4049,6 +4052,9 @@ export namespace google { /** 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 @@ -6602,6 +6608,103 @@ export namespace google { */ 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; + } } } } diff --git a/packages/google-cloud-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js index 7326ab0028b..731cc3888e3 100644 --- a/packages/google-cloud-tpu/protos/protos.js +++ b/packages/google-cloud-tpu/protos/protos.js @@ -9039,6 +9039,7 @@ * @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 */ /** @@ -9222,6 +9223,14 @@ */ 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 @@ -9292,6 +9301,8 @@ 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; }; @@ -9452,6 +9463,10 @@ 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; @@ -9620,6 +9635,11 @@ 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; }; @@ -9829,6 +9849,11 @@ 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; }; @@ -9874,6 +9899,7 @@ 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; @@ -9937,6 +9963,8 @@ 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; }; @@ -15714,6 +15742,209 @@ return GetGuestAttributesResponse; })(); + v2alpha1.ShieldedInstanceConfig = (function() { + + /** + * Properties of a ShieldedInstanceConfig. + * @memberof google.cloud.tpu.v2alpha1 + * @interface IShieldedInstanceConfig + * @property {boolean|null} [enableSecureBoot] ShieldedInstanceConfig enableSecureBoot + */ + + /** + * Constructs a new ShieldedInstanceConfig. + * @memberof google.cloud.tpu.v2alpha1 + * @classdesc Represents a ShieldedInstanceConfig. + * @implements IShieldedInstanceConfig + * @constructor + * @param {google.cloud.tpu.v2alpha1.IShieldedInstanceConfig=} [properties] Properties to set + */ + function ShieldedInstanceConfig(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]]; + } + + /** + * ShieldedInstanceConfig enableSecureBoot. + * @member {boolean} enableSecureBoot + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @instance + */ + ShieldedInstanceConfig.prototype.enableSecureBoot = false; + + /** + * Creates a new ShieldedInstanceConfig instance using the specified properties. + * @function create + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {google.cloud.tpu.v2alpha1.IShieldedInstanceConfig=} [properties] Properties to set + * @returns {google.cloud.tpu.v2alpha1.ShieldedInstanceConfig} ShieldedInstanceConfig instance + */ + ShieldedInstanceConfig.create = function create(properties) { + return new ShieldedInstanceConfig(properties); + }; + + /** + * Encodes the specified ShieldedInstanceConfig message. Does not implicitly {@link google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {google.cloud.tpu.v2alpha1.IShieldedInstanceConfig} message ShieldedInstanceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShieldedInstanceConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableSecureBoot != null && Object.hasOwnProperty.call(message, "enableSecureBoot")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableSecureBoot); + return writer; + }; + + /** + * Encodes the specified ShieldedInstanceConfig message, length delimited. Does not implicitly {@link google.cloud.tpu.v2alpha1.ShieldedInstanceConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {google.cloud.tpu.v2alpha1.IShieldedInstanceConfig} message ShieldedInstanceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShieldedInstanceConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShieldedInstanceConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @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.ShieldedInstanceConfig} ShieldedInstanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShieldedInstanceConfig.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.ShieldedInstanceConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.enableSecureBoot = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShieldedInstanceConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.tpu.v2alpha1.ShieldedInstanceConfig} ShieldedInstanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShieldedInstanceConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShieldedInstanceConfig message. + * @function verify + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShieldedInstanceConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableSecureBoot != null && message.hasOwnProperty("enableSecureBoot")) + if (typeof message.enableSecureBoot !== "boolean") + return "enableSecureBoot: boolean expected"; + return null; + }; + + /** + * Creates a ShieldedInstanceConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.tpu.v2alpha1.ShieldedInstanceConfig} ShieldedInstanceConfig + */ + ShieldedInstanceConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.tpu.v2alpha1.ShieldedInstanceConfig) + return object; + var message = new $root.google.cloud.tpu.v2alpha1.ShieldedInstanceConfig(); + if (object.enableSecureBoot != null) + message.enableSecureBoot = Boolean(object.enableSecureBoot); + return message; + }; + + /** + * Creates a plain object from a ShieldedInstanceConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {google.cloud.tpu.v2alpha1.ShieldedInstanceConfig} message ShieldedInstanceConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShieldedInstanceConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enableSecureBoot = false; + if (message.enableSecureBoot != null && message.hasOwnProperty("enableSecureBoot")) + object.enableSecureBoot = message.enableSecureBoot; + return object; + }; + + /** + * Converts this ShieldedInstanceConfig to JSON. + * @function toJSON + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @instance + * @returns {Object.} JSON object + */ + ShieldedInstanceConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ShieldedInstanceConfig + * @function getTypeUrl + * @memberof google.cloud.tpu.v2alpha1.ShieldedInstanceConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShieldedInstanceConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.tpu.v2alpha1.ShieldedInstanceConfig"; + }; + + return ShieldedInstanceConfig; + })(); + return v2alpha1; })(); diff --git a/packages/google-cloud-tpu/protos/protos.json b/packages/google-cloud-tpu/protos/protos.json index 12b7ae80dbf..9ad44e70745 100644 --- a/packages/google-cloud-tpu/protos/protos.json +++ b/packages/google-cloud-tpu/protos/protos.json @@ -1303,6 +1303,10 @@ "options": { "(google.api.field_behavior)": "OUTPUT_ONLY" } + }, + "shieldedInstanceConfig": { + "type": "ShieldedInstanceConfig", + "id": 45 } }, "nested": { @@ -1733,6 +1737,14 @@ "id": 1 } } + }, + "ShieldedInstanceConfig": { + "fields": { + "enableSecureBoot": { + "type": "bool", + "id": 1 + } + } } } } From 363c8c5f437e84216bc69d9781cab76dddb818d9 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 23 Sep 2022 14:28:50 -0700 Subject: [PATCH 57/64] test: use fully qualified request type name in tests (#100) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * test: use fully qualified request type name in tests PiperOrigin-RevId: 475685359 Source-Link: https://github.com/googleapis/googleapis/commit/7a129736313ceb1f277c3b7f7e16d2e04cc901dd Source-Link: https://github.com/googleapis/googleapis-gen/commit/370c729e2ba062a167449c27882ba5f379c5c34d Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzcwYzcyOWUyYmEwNjJhMTY3NDQ5YzI3ODgyYmE1ZjM3OWM1YzM0ZCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../google-cloud-tpu/test/gapic_tpu_v1.ts | 282 +++++++++----- .../test/gapic_tpu_v2alpha1.ts | 365 +++++++++++------- 2 files changed, 423 insertions(+), 224 deletions(-) diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts index 7a319c263ab..5c8d3ac4f7a 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v1.ts @@ -267,7 +267,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -295,7 +298,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -339,7 +345,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -364,7 +373,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -382,9 +394,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetTensorFlowVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -413,9 +426,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetTensorFlowVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -459,9 +473,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetTensorFlowVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -489,9 +504,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetTensorFlowVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetTensorFlowVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetTensorFlowVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -509,9 +525,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -540,9 +557,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -586,9 +604,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -616,9 +635,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -636,9 +656,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -667,9 +688,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -720,9 +742,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -750,9 +773,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -822,7 +846,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -851,7 +878,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -902,7 +932,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -930,7 +963,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1000,7 +1036,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ReimageNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1029,7 +1068,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ReimageNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1080,7 +1122,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ReimageNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1108,7 +1153,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ReimageNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('ReimageNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ReimageNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1178,7 +1226,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1207,7 +1258,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1258,7 +1312,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1286,7 +1343,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1356,7 +1416,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1385,7 +1448,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1436,7 +1502,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1464,7 +1533,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1534,7 +1606,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1564,7 +1639,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1610,7 +1688,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1635,7 +1716,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1683,7 +1767,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1728,7 +1815,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1767,7 +1857,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1808,7 +1901,7 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); const defaultValue1 = getTypeDefaultValue( - 'ListTensorFlowVersionsRequest', + '.google.cloud.tpu.v1.ListTensorFlowVersionsRequest', ['parent'] ); request.parent = defaultValue1; @@ -1848,7 +1941,7 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); const defaultValue1 = getTypeDefaultValue( - 'ListTensorFlowVersionsRequest', + '.google.cloud.tpu.v1.ListTensorFlowVersionsRequest', ['parent'] ); request.parent = defaultValue1; @@ -1903,7 +1996,7 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); const defaultValue1 = getTypeDefaultValue( - 'ListTensorFlowVersionsRequest', + '.google.cloud.tpu.v1.ListTensorFlowVersionsRequest', ['parent'] ); request.parent = defaultValue1; @@ -1937,7 +2030,7 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); const defaultValue1 = getTypeDefaultValue( - 'ListTensorFlowVersionsRequest', + '.google.cloud.tpu.v1.ListTensorFlowVersionsRequest', ['parent'] ); request.parent = defaultValue1; @@ -2003,7 +2096,7 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); const defaultValue1 = getTypeDefaultValue( - 'ListTensorFlowVersionsRequest', + '.google.cloud.tpu.v1.ListTensorFlowVersionsRequest', ['parent'] ); request.parent = defaultValue1; @@ -2058,7 +2151,7 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); const defaultValue1 = getTypeDefaultValue( - 'ListTensorFlowVersionsRequest', + '.google.cloud.tpu.v1.ListTensorFlowVersionsRequest', ['parent'] ); request.parent = defaultValue1; @@ -2111,7 +2204,7 @@ describe('v1.TpuClient', () => { new protos.google.cloud.tpu.v1.ListTensorFlowVersionsRequest() ); const defaultValue1 = getTypeDefaultValue( - 'ListTensorFlowVersionsRequest', + '.google.cloud.tpu.v1.ListTensorFlowVersionsRequest', ['parent'] ); request.parent = defaultValue1; @@ -2156,9 +2249,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2189,9 +2283,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2237,9 +2332,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2267,9 +2363,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2320,9 +2417,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2368,9 +2466,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2410,9 +2509,10 @@ describe('v1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); diff --git a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts index 56eee6c8fd5..31decf43dc0 100644 --- a/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts +++ b/packages/google-cloud-tpu/test/gapic_tpu_v2alpha1.ts @@ -267,7 +267,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -295,7 +298,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -339,7 +345,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -364,7 +373,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -383,7 +395,7 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); const defaultValue1 = getTypeDefaultValue( - 'GenerateServiceIdentityRequest', + '.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest', ['parent'] ); request.parent = defaultValue1; @@ -415,7 +427,7 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); const defaultValue1 = getTypeDefaultValue( - 'GenerateServiceIdentityRequest', + '.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest', ['parent'] ); request.parent = defaultValue1; @@ -462,7 +474,7 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); const defaultValue1 = getTypeDefaultValue( - 'GenerateServiceIdentityRequest', + '.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest', ['parent'] ); request.parent = defaultValue1; @@ -496,7 +508,7 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest() ); const defaultValue1 = getTypeDefaultValue( - 'GenerateServiceIdentityRequest', + '.google.cloud.tpu.v2alpha1.GenerateServiceIdentityRequest', ['parent'] ); request.parent = defaultValue1; @@ -519,9 +531,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -550,9 +563,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -596,9 +610,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -626,9 +641,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest() ); - const defaultValue1 = getTypeDefaultValue('GetAcceleratorTypeRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetAcceleratorTypeRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -646,9 +662,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -676,9 +693,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -722,9 +740,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -752,9 +771,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest() ); - const defaultValue1 = getTypeDefaultValue('GetRuntimeVersionRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetRuntimeVersionRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -772,9 +792,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -803,9 +824,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -849,9 +871,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -879,9 +902,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest() ); - const defaultValue1 = getTypeDefaultValue('GetGuestAttributesRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.GetGuestAttributesRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -899,9 +923,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -930,9 +955,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -983,9 +1009,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1013,9 +1040,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.CreateNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateNodeRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.CreateNodeRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1085,7 +1113,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1114,7 +1145,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1165,7 +1199,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1193,7 +1230,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.DeleteNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.DeleteNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1263,7 +1303,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1292,7 +1335,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1343,7 +1389,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1371,7 +1420,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StopNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StopNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StopNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1441,7 +1493,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1470,7 +1525,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1521,7 +1579,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1549,7 +1610,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.StartNodeRequest() ); - const defaultValue1 = getTypeDefaultValue('StartNodeRequest', ['name']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.StartNodeRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1620,10 +1684,10 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); request.node ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ - 'node', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.UpdateNodeRequest', + ['node', 'name'] + ); request.node.name = defaultValue1; const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1653,10 +1717,10 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); request.node ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ - 'node', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.UpdateNodeRequest', + ['node', 'name'] + ); request.node.name = defaultValue1; const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1708,10 +1772,10 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); request.node ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ - 'node', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.UpdateNodeRequest', + ['node', 'name'] + ); request.node.name = defaultValue1; const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1740,10 +1804,10 @@ describe('v2alpha1.TpuClient', () => { new protos.google.cloud.tpu.v2alpha1.UpdateNodeRequest() ); request.node ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateNodeRequest', [ - 'node', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.UpdateNodeRequest', + ['node', 'name'] + ); request.node.name = defaultValue1; const expectedHeaderRequestParams = `node.name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1813,7 +1877,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1843,7 +1910,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1889,7 +1959,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1914,7 +1987,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1962,7 +2038,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2007,7 +2086,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2046,7 +2128,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListNodesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListNodesRequest', ['parent']); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListNodesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2086,9 +2171,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2125,9 +2211,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2179,9 +2266,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2209,9 +2297,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2269,9 +2358,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2318,9 +2408,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2366,9 +2457,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListAcceleratorTypesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListAcceleratorTypesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2408,9 +2500,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2447,9 +2540,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2501,9 +2595,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2531,9 +2626,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2590,9 +2686,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -2638,9 +2735,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -2686,9 +2784,10 @@ describe('v2alpha1.TpuClient', () => { const request = generateSampleMessage( new protos.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest() ); - const defaultValue1 = getTypeDefaultValue('ListRuntimeVersionsRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.tpu.v2alpha1.ListRuntimeVersionsRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); From 01d7c6001b625b788f28a52328d6f92a5cea3f41 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 3 Nov 2022 23:43:19 -0700 Subject: [PATCH 58/64] fix(deps): use google-gax v3.5.2 (#104) --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 05fbb203890..a8c437bc5e9 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -39,7 +39,7 @@ "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { - "google-gax": "^3.3.0" + "google-gax": "^3.5.2" }, "devDependencies": { "@types/mocha": "^9.0.0", From a2662f2ca9668f210a778d42d85592d572962c71 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 10 Nov 2022 10:20:24 +0100 Subject: [PATCH 59/64] chore(deps): update dependency @types/node to v18 (#102) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`^16.0.0` -> `^18.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/16.18.3/18.11.9) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/compatibility-slim/16.18.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/confidence-slim/16.18.3)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index a8c437bc5e9..013ad7a179f 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -43,7 +43,7 @@ }, "devDependencies": { "@types/mocha": "^9.0.0", - "@types/node": "^16.0.0", + "@types/node": "^18.0.0", "@types/sinon": "^10.0.0", "c8": "^7.7.2", "gts": "^3.1.0", From a7038ee01721d2e25f87cbe3be43c4508e1e697f Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 10 Nov 2022 10:46:17 +0100 Subject: [PATCH 60/64] chore(deps): update dependency jsdoc to v4 (#106) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jsdoc](https://togithub.com/jsdoc/jsdoc) | [`^3.6.6` -> `^4.0.0`](https://renovatebot.com/diffs/npm/jsdoc/3.6.11/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/compatibility-slim/3.6.11)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/confidence-slim/3.6.11)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
jsdoc/jsdoc ### [`v4.0.0`](https://togithub.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#​400-November-2022) [Compare Source](https://togithub.com/jsdoc/jsdoc/compare/3.6.11...084218523a7d69fec14a852ce680f374f526af28) - JSDoc releases now use [semantic versioning](https://semver.org/). If JSDoc makes backwards-incompatible changes in the future, the major version will be incremented. - JSDoc no longer uses the [`taffydb`](https://taffydb.com/) package. If your JSDoc template or plugin uses the `taffydb` package, see the [instructions for replacing `taffydb` with `@jsdoc/salty`](https://togithub.com/jsdoc/jsdoc/tree/main/packages/jsdoc-salty#use-salty-in-a-jsdoc-template). - JSDoc now supports Node.js 12.0.0 and later.
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-cloud-tpu). --- packages/google-cloud-tpu/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index 013ad7a179f..f87c4ab1436 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -47,7 +47,7 @@ "@types/sinon": "^10.0.0", "c8": "^7.7.2", "gts": "^3.1.0", - "jsdoc": "^3.6.6", + "jsdoc": "^4.0.0", "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", "linkinator": "^4.0.0", From 12b0699ad168d43d60c808bd4db79de2932ef36a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 10:56:14 +0000 Subject: [PATCH 61/64] fix: regenerated protos JS and TS definitions (#107) samples: pull in latest typeless bot, clean up some comments Source-Link: https://togithub.com/googleapis/synthtool/commit/0a68e568b6911b60bb6fd452eba4848b176031d8 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:5b05f26103855c3a15433141389c478d1d3fe088fb5d4e3217c4793f6b3f245e --- packages/google-cloud-tpu/protos/protos.d.ts | 2 +- packages/google-cloud-tpu/protos/protos.js | 148 ++++++++++++++++--- 2 files changed, 130 insertions(+), 20 deletions(-) diff --git a/packages/google-cloud-tpu/protos/protos.d.ts b/packages/google-cloud-tpu/protos/protos.d.ts index f34274cca99..c84e1e38650 100644 --- a/packages/google-cloud-tpu/protos/protos.d.ts +++ b/packages/google-cloud-tpu/protos/protos.d.ts @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import Long = require("long"); import type {protobuf as $protobuf} from "google-gax"; +import Long = require("long"); /** Namespace google. */ export namespace google { diff --git a/packages/google-cloud-tpu/protos/protos.js b/packages/google-cloud-tpu/protos/protos.js index 731cc3888e3..fcfa3ce6e6e 100644 --- a/packages/google-cloud-tpu/protos/protos.js +++ b/packages/google-cloud-tpu/protos/protos.js @@ -1486,6 +1486,12 @@ 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; @@ -1578,6 +1584,12 @@ } } switch (object.health) { + default: + if (typeof object.health === "number") { + message.health = object.health; + break; + } + break; case "HEALTH_UNSPECIFIED": case 0: message.health = 0; @@ -1613,6 +1625,12 @@ 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; @@ -1689,7 +1707,7 @@ 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] : message.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")) @@ -1712,7 +1730,7 @@ 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] : message.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 = {}; @@ -1722,7 +1740,7 @@ 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] : message.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) @@ -6273,6 +6291,12 @@ 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; @@ -6331,7 +6355,7 @@ 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] : message.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")) @@ -7750,6 +7774,12 @@ 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; @@ -7786,7 +7816,7 @@ 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] : message.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; }; @@ -9662,6 +9692,12 @@ 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; @@ -9760,6 +9796,12 @@ } } switch (object.health) { + default: + if (typeof object.health === "number") { + message.health = object.health; + break; + } + break; case "HEALTH_UNSPECIFIED": case 0: message.health = 0; @@ -9822,6 +9864,12 @@ } } switch (object.apiVersion) { + default: + if (typeof object.apiVersion === "number") { + message.apiVersion = object.apiVersion; + break; + } + break; case "API_VERSION_UNSPECIFIED": case 0: message.apiVersion = 0; @@ -9908,7 +9956,7 @@ 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] : message.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")) @@ -9925,7 +9973,7 @@ 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] : message.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 = {}; @@ -9947,7 +9995,7 @@ 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] : message.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) @@ -15132,6 +15180,12 @@ 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; @@ -15190,7 +15244,7 @@ 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.v2alpha1.Symptom.SymptomType[message.symptomType] : message.symptomType; + object.symptomType = options.enums === String ? $root.google.cloud.tpu.v2alpha1.Symptom.SymptomType[message.symptomType] === undefined ? message.symptomType : $root.google.cloud.tpu.v2alpha1.Symptom.SymptomType[message.symptomType] : message.symptomType; if (message.details != null && message.hasOwnProperty("details")) object.details = message.details; if (message.workerId != null && message.hasOwnProperty("workerId")) @@ -17256,6 +17310,12 @@ if (object.nameField != null) message.nameField = String(object.nameField); switch (object.history) { + default: + if (typeof object.history === "number") { + message.history = object.history; + break; + } + break; case "HISTORY_UNSPECIFIED": case 0: message.history = 0; @@ -17280,6 +17340,10 @@ for (var i = 0; i < object.style.length; ++i) switch (object.style[i]) { default: + if (typeof object.style[i] === "number") { + message.style[i] = object.style[i]; + break; + } case "STYLE_UNSPECIFIED": case 0: message.style[i] = 0; @@ -17327,7 +17391,7 @@ if (message.nameField != null && message.hasOwnProperty("nameField")) object.nameField = message.nameField; if (message.history != null && message.hasOwnProperty("history")) - object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] : message.history; + object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] === undefined ? message.history : $root.google.api.ResourceDescriptor.History[message.history] : message.history; if (message.plural != null && message.hasOwnProperty("plural")) object.plural = message.plural; if (message.singular != null && message.hasOwnProperty("singular")) @@ -17335,7 +17399,7 @@ if (message.style && message.style.length) { object.style = []; for (var j = 0; j < message.style.length; ++j) - object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; + object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] === undefined ? message.style[j] : $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; } return object; }; @@ -20146,6 +20210,12 @@ if (object.number != null) message.number = object.number | 0; switch (object.label) { + default: + if (typeof object.label === "number") { + message.label = object.label; + break; + } + break; case "LABEL_OPTIONAL": case 1: message.label = 1; @@ -20160,6 +20230,12 @@ break; } switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "TYPE_DOUBLE": case 1: message.type = 1; @@ -20286,9 +20362,9 @@ if (message.number != null && message.hasOwnProperty("number")) object.number = message.number; if (message.label != null && message.hasOwnProperty("label")) - object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; + object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; if (message.typeName != null && message.hasOwnProperty("typeName")) object.typeName = message.typeName; if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) @@ -22635,6 +22711,12 @@ if (object.javaStringCheckUtf8 != null) message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); switch (object.optimizeFor) { + default: + if (typeof object.optimizeFor === "number") { + message.optimizeFor = object.optimizeFor; + break; + } + break; case "SPEED": case 1: message.optimizeFor = 1; @@ -22743,7 +22825,7 @@ if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) object.javaOuterClassname = message.javaOuterClassname; if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) - object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === undefined ? message.optimizeFor : $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) object.javaMultipleFiles = message.javaMultipleFiles; if (message.goPackage != null && message.hasOwnProperty("goPackage")) @@ -23545,6 +23627,12 @@ return object; var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { + default: + if (typeof object.ctype === "number") { + message.ctype = object.ctype; + break; + } + break; case "STRING": case 0: message.ctype = 0; @@ -23561,6 +23649,12 @@ if (object.packed != null) message.packed = Boolean(object.packed); switch (object.jstype) { + default: + if (typeof object.jstype === "number") { + message.jstype = object.jstype; + break; + } + break; case "JS_NORMAL": case 0: message.jstype = 0; @@ -23599,6 +23693,10 @@ for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i) switch (object[".google.api.fieldBehavior"][i]) { default: + if (typeof object[".google.api.fieldBehavior"][i] === "number") { + message[".google.api.fieldBehavior"][i] = object[".google.api.fieldBehavior"][i]; + break; + } case "FIELD_BEHAVIOR_UNSPECIFIED": case 0: message[".google.api.fieldBehavior"][i] = 0; @@ -23669,7 +23767,7 @@ object[".google.api.resourceReference"] = null; } if (message.ctype != null && message.hasOwnProperty("ctype")) - object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === undefined ? message.ctype : $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; if (message.packed != null && message.hasOwnProperty("packed")) object.packed = message.packed; if (message.deprecated != null && message.hasOwnProperty("deprecated")) @@ -23677,7 +23775,7 @@ if (message.lazy != null && message.hasOwnProperty("lazy")) object.lazy = message.lazy; if (message.jstype != null && message.hasOwnProperty("jstype")) - object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; + object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] === undefined ? message.jstype : $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; if (message.weak != null && message.hasOwnProperty("weak")) object.weak = message.weak; if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) @@ -23690,7 +23788,7 @@ if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) { object[".google.api.fieldBehavior"] = []; for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j) - object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; + object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] === undefined ? message[".google.api.fieldBehavior"][j] : $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options); @@ -25067,6 +25165,12 @@ if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); switch (object.idempotencyLevel) { + default: + if (typeof object.idempotencyLevel === "number") { + message.idempotencyLevel = object.idempotencyLevel; + break; + } + break; case "IDEMPOTENCY_UNKNOWN": case 0: message.idempotencyLevel = 0; @@ -25136,7 +25240,7 @@ if (message.deprecated != null && message.hasOwnProperty("deprecated")) object.deprecated = message.deprecated; if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) - object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; + object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -26891,6 +26995,12 @@ if (object.end != null) message.end = object.end | 0; switch (object.semantic) { + default: + if (typeof object.semantic === "number") { + message.semantic = object.semantic; + break; + } + break; case "NONE": case 0: message.semantic = 0; @@ -26940,7 +27050,7 @@ if (message.end != null && message.hasOwnProperty("end")) object.end = message.end; if (message.semantic != null && message.hasOwnProperty("semantic")) - object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; + object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] === undefined ? message.semantic : $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; return object; }; From 9ab3b44bbbd1ab369624be9d35c50ce384743cda Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 11 Nov 2022 10:32:15 +0000 Subject: [PATCH 62/64] chore(main): release 2.2.0 (#93) :robot: I have created a release *beep* *boop* --- ## [2.2.0](https://togithub.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://togithub.com/googleapis/nodejs-cloud-tpu/issues/98)) ([e4fc278](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/e4fc27883278b8161bb7ad598dd83021e2467d99)) ### Bug Fixes * Allow passing gax instance to client constructor ([#96](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/96)) ([d636ecf](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/d636ecf4798258a71f289bd6a6add2cf45e6a2cb)) * Better support for fallback mode ([#91](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/91)) ([a291abd](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/a291abd4a0418eb375f9c4a27f19735afee4acca)) * Change import long to require ([#92](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/92)) ([5de09bb](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/5de09bb8786a790ff5a6d643f8493b6f6ea3c4ec)) * **deps:** Use google-gax v3.5.2 ([#104](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/104)) ([86b8617](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/86b86173fe7f8dd33e5cb6abb683f32d148670c6)) * Do not import the whole google-gax from proto JS ([#1553](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/1553)) ([#95](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/95)) ([e4289c1](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/e4289c164ea2123947328ceddfb09cf083e50a19)) * Preserve default values in x-goog-request-params header ([#97](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/97)) ([42310b7](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/42310b7a99b51320e9924f8ecd1d75513b28b598)) * Regenerated protos JS and TS definitions ([#107](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/107)) ([7e3cba5](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/7e3cba5fd489373a7c460369d37f04c32e3cd9c3)) * Remove pip install statements ([#1546](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/1546)) ([#94](https://togithub.com/googleapis/nodejs-cloud-tpu/issues/94)) ([7a26fe6](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/7a26fe63b51c661bdd22bfafecc3d4291247dddf)) * use google-gax v3.3.0 ([e4289c1](https://togithub.com/googleapis/nodejs-cloud-tpu/commit/e4289c164ea2123947328ceddfb09cf083e50a19)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). --- packages/google-cloud-tpu/CHANGELOG.md | 20 +++++++++++++++++++ packages/google-cloud-tpu/package.json | 2 +- .../snippet_metadata.google.cloud.tpu.v1.json | 2 +- ...et_metadata.google.cloud.tpu.v2alpha1.json | 2 +- .../google-cloud-tpu/samples/package.json | 2 +- 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-tpu/CHANGELOG.md b/packages/google-cloud-tpu/CHANGELOG.md index 149355c689b..f8441f7eb62 100644 --- a/packages/google-cloud-tpu/CHANGELOG.md +++ b/packages/google-cloud-tpu/CHANGELOG.md @@ -1,5 +1,25 @@ # 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) diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index f87c4ab1436..b6ebff9e842 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/tpu", - "version": "2.1.0", + "version": "2.2.0", "description": "tpu client for Node.js", "repository": "googleapis/nodejs-cloud-tpu", "license": "Apache-2.0", diff --git a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json index 3934a315725..d2e128baac9 100644 --- a/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json +++ b/packages/google-cloud-tpu/samples/generated/v1/snippet_metadata.google.cloud.tpu.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-tpu", - "version": "2.1.0", + "version": "2.2.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json index d5a62c029e8..41d92903b0a 100644 --- a/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json +++ b/packages/google-cloud-tpu/samples/generated/v2alpha1/snippet_metadata.google.cloud.tpu.v2alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-tpu", - "version": "2.1.0", + "version": "2.2.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-tpu/samples/package.json b/packages/google-cloud-tpu/samples/package.json index fea86da5554..c66a3bb1240 100644 --- a/packages/google-cloud-tpu/samples/package.json +++ b/packages/google-cloud-tpu/samples/package.json @@ -13,7 +13,7 @@ "test": "c8 mocha --timeout 600000 test/*.js" }, "dependencies": { - "@google-cloud/tpu": "^2.1.0" + "@google-cloud/tpu": "^2.2.0" }, "devDependencies": { "c8": "^7.1.0", From 8f737cec469b0312e2d17d078a5b260bbcd268fd Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Fri, 11 Nov 2022 10:45:49 -0800 Subject: [PATCH 63/64] build: add release-please config, fix owlbot-config --- .release-please-manifest.json | 1 + .../{.github => }/.OwlBot.yaml | 6 +- packages/google-cloud-tpu/.mocharc.js | 2 +- packages/google-cloud-tpu/.prettierrc.js | 2 +- packages/google-cloud-tpu/.repo-metadata.json | 4 +- packages/google-cloud-tpu/README.md | 39 +- packages/google-cloud-tpu/package.json | 13 +- packages/google-cloud-tpu/samples/README.md | 462 +++++++++++++++++- packages/google-cloud-tpu/src/index.ts | 2 +- release-please-config.json | 3 +- 10 files changed, 507 insertions(+), 27 deletions(-) rename packages/google-cloud-tpu/{.github => }/.OwlBot.yaml (80%) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index c38b0a70276..a77ba9a50bc 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -32,6 +32,7 @@ "packages/google-cloud-security-publicca": "0.1.3", "packages/google-cloud-shell": "2.0.4", "packages/google-cloud-texttospeech": "4.0.4", + "packages/google-cloud-tpu": "2.2.0", "packages/google-cloud-translate": "7.0.4", "packages/google-cloud-videointelligence": "4.1.1", "packages/google-container": "4.4.0", diff --git a/packages/google-cloud-tpu/.github/.OwlBot.yaml b/packages/google-cloud-tpu/.OwlBot.yaml similarity index 80% rename from packages/google-cloud-tpu/.github/.OwlBot.yaml rename to packages/google-cloud-tpu/.OwlBot.yaml index 2714b09faab..1ce639967ae 100644 --- a/packages/google-cloud-tpu/.github/.OwlBot.yaml +++ b/packages/google-cloud-tpu/.OwlBot.yaml @@ -11,12 +11,10 @@ # 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. -docker: - image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest deep-remove-regex: - /owl-bot-staging deep-copy-regex: - - source: /google/cloud/tpu/(.*)/.*-nodejs/(.*) - dest: /owl-bot-staging/$1/$2 + - source: /google/cloud/tpu/(.*)/.*-nodejs + dest: /owl-bot-staging/google-cloud-tpu/$1 diff --git a/packages/google-cloud-tpu/.mocharc.js b/packages/google-cloud-tpu/.mocharc.js index 0b600509bed..cdb7b752160 100644 --- a/packages/google-cloud-tpu/.mocharc.js +++ b/packages/google-cloud-tpu/.mocharc.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/.prettierrc.js b/packages/google-cloud-tpu/.prettierrc.js index d1b95106f4c..d546a4ad546 100644 --- a/packages/google-cloud-tpu/.prettierrc.js +++ b/packages/google-cloud-tpu/.prettierrc.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/packages/google-cloud-tpu/.repo-metadata.json b/packages/google-cloud-tpu/.repo-metadata.json index 68008203562..c097d15e8ed 100644 --- a/packages/google-cloud-tpu/.repo-metadata.json +++ b/packages/google-cloud-tpu/.repo-metadata.json @@ -3,10 +3,10 @@ "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/nodejs-cloud-tpu/issues", + "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues", "release_level": "stable", "language": "nodejs", - "repo": "googleapis/nodejs-cloud-tpu", + "repo": "googleapis/google-cloud-node", "distribution_name": "@google-cloud/tpu", "api_id": "tpu.googleapis.com", "default_version": "v1", diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 8191c48fd22..6c571a36db4 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -2,7 +2,7 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Cloud TPU: Node.js Client](https://github.com/googleapis/nodejs-cloud-tpu) +# [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) @@ -14,11 +14,11 @@ tpu client for Node.js A comprehensive list of changes in each version may be found in -[the CHANGELOG](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/CHANGELOG.md). +[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/nodejs-cloud-tpu](https://github.com/googleapis/nodejs-cloud-tpu) +* [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]. @@ -83,11 +83,36 @@ listNodes(); ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-cloud-tpu/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. +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 | | --------------------------- | --------------------------------- | ------ | -| Quickstart | [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Tpu.create_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.create_node.js,samples/README.md) | +| Tpu.delete_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.reimage_node.js,samples/README.md) | +| Tpu.start_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.start_node.js,samples/README.md) | +| Tpu.stop_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.stop_node.js,samples/README.md) | +| Tpu.create_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.create_node.js,samples/README.md) | +| Tpu.delete_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.start_node.js,samples/README.md) | +| Tpu.stop_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.stop_node.js,samples/README.md) | +| Tpu.update_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.update_node.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/test/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/test/quickstart.js,samples/README.md) | @@ -137,7 +162,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/CONTRIBUTING.md). +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`) @@ -149,7 +174,7 @@ to its templates in Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/LICENSE) +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/ diff --git a/packages/google-cloud-tpu/package.json b/packages/google-cloud-tpu/package.json index b6ebff9e842..9af733449e4 100644 --- a/packages/google-cloud-tpu/package.json +++ b/packages/google-cloud-tpu/package.json @@ -2,7 +2,11 @@ "name": "@google-cloud/tpu", "version": "2.2.0", "description": "tpu client for Node.js", - "repository": "googleapis/nodejs-cloud-tpu", + "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", @@ -33,9 +37,9 @@ "fix": "gts fix", "lint": "gts check", "prepare": "npm run compile-protos && npm run compile", - "system-test": "c8 mocha build/system-test", + "system-test": "npm run compile && c8 mocha build/system-test", "test": "c8 mocha build/test", - "samples-test": "cd samples/ && npm link ../ && npm test", + "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test", "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { @@ -62,5 +66,6 @@ }, "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/samples/README.md b/packages/google-cloud-tpu/samples/README.md index 73549a30cbe..204aa87fca5 100644 --- a/packages/google-cloud-tpu/samples/README.md +++ b/packages/google-cloud-tpu/samples/README.md @@ -2,7 +2,7 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Cloud TPU: Node.js Samples](https://github.com/googleapis/nodejs-cloud-tpu) +# [Cloud TPU: Node.js Samples](https://github.com/googleapis/google-cloud-node) [![Open in Cloud Shell][shell_img]][shell_link] @@ -12,12 +12,37 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) + * [Tpu.create_node](#tpu.create_node) + * [Tpu.delete_node](#tpu.delete_node) + * [Tpu.get_accelerator_type](#tpu.get_accelerator_type) + * [Tpu.get_node](#tpu.get_node) + * [Tpu.get_tensor_flow_version](#tpu.get_tensor_flow_version) + * [Tpu.list_accelerator_types](#tpu.list_accelerator_types) + * [Tpu.list_nodes](#tpu.list_nodes) + * [Tpu.list_tensor_flow_versions](#tpu.list_tensor_flow_versions) + * [Tpu.reimage_node](#tpu.reimage_node) + * [Tpu.start_node](#tpu.start_node) + * [Tpu.stop_node](#tpu.stop_node) + * [Tpu.create_node](#tpu.create_node) + * [Tpu.delete_node](#tpu.delete_node) + * [Tpu.generate_service_identity](#tpu.generate_service_identity) + * [Tpu.get_accelerator_type](#tpu.get_accelerator_type) + * [Tpu.get_guest_attributes](#tpu.get_guest_attributes) + * [Tpu.get_node](#tpu.get_node) + * [Tpu.get_runtime_version](#tpu.get_runtime_version) + * [Tpu.list_accelerator_types](#tpu.list_accelerator_types) + * [Tpu.list_nodes](#tpu.list_nodes) + * [Tpu.list_runtime_versions](#tpu.list_runtime_versions) + * [Tpu.start_node](#tpu.start_node) + * [Tpu.stop_node](#tpu.stop_node) + * [Tpu.update_node](#tpu.update_node) + * [Quickstart](#quickstart) * [Quickstart](#quickstart) ## Before you begin Before running the samples, make sure you've followed the steps outlined in -[Using the client library](https://github.com/googleapis/nodejs-cloud-tpu#using-the-client-library). +[Using the client library](https://github.com/googleapis/google-cloud-node#using-the-client-library). `cd samples` @@ -29,16 +54,441 @@ Before running the samples, make sure you've followed the steps outlined in +### Tpu.create_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.create_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.create_node.js` + + +----- + + + + +### Tpu.delete_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.delete_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.delete_node.js` + + +----- + + + + +### Tpu.get_accelerator_type + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.get_accelerator_type.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.get_accelerator_type.js` + + +----- + + + + +### Tpu.get_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.get_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.get_node.js` + + +----- + + + + +### Tpu.get_tensor_flow_version + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.get_tensor_flow_version.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.get_tensor_flow_version.js` + + +----- + + + + +### Tpu.list_accelerator_types + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.list_accelerator_types.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.list_accelerator_types.js` + + +----- + + + + +### Tpu.list_nodes + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.list_nodes.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.list_nodes.js` + + +----- + + + + +### Tpu.list_tensor_flow_versions + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.list_tensor_flow_versions.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.list_tensor_flow_versions.js` + + +----- + + + + +### Tpu.reimage_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.reimage_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.reimage_node.js` + + +----- + + + + +### Tpu.start_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.start_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.start_node.js` + + +----- + + + + +### Tpu.stop_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.stop_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v1/tpu.stop_node.js` + + +----- + + + + +### Tpu.create_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.create_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.create_node.js` + + +----- + + + + +### Tpu.delete_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.delete_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.delete_node.js` + + +----- + + + + +### Tpu.generate_service_identity + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.generate_service_identity.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.generate_service_identity.js` + + +----- + + + + +### Tpu.get_accelerator_type + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_accelerator_type.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_accelerator_type.js` + + +----- + + + + +### Tpu.get_guest_attributes + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_guest_attributes.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_guest_attributes.js` + + +----- + + + + +### Tpu.get_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_node.js` + + +----- + + + + +### Tpu.get_runtime_version + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_runtime_version.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_runtime_version.js` + + +----- + + + + +### Tpu.list_accelerator_types + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_accelerator_types.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_accelerator_types.js` + + +----- + + + + +### Tpu.list_nodes + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_nodes.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_nodes.js` + + +----- + + + + +### Tpu.list_runtime_versions + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_runtime_versions.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_runtime_versions.js` + + +----- + + + + +### Tpu.start_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.start_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.start_node.js` + + +----- + + + + +### Tpu.stop_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.stop_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.stop_node.js` + + +----- + + + + +### Tpu.update_node + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.update_node.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.update_node.js` + + +----- + + + + +### Quickstart + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) + +__Usage:__ + + +`node /workspace/google-cloud-node/samples/quickstart.js` + + +----- + + + + ### Quickstart -View the [source code](https://github.com/googleapis/nodejs-cloud-tpu/blob/main/samples/quickstart.js). +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/test/quickstart.js). -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/test/quickstart.js,samples/README.md) __Usage:__ -`node samples/quickstart.js` +`node /workspace/google-cloud-node/samples/test/quickstart.js` @@ -46,5 +496,5 @@ __Usage:__ [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png -[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-cloud-tpu&page=editor&open_in_editor=samples/README.md +[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=samples/README.md [product-docs]: https://cloud.google.com/tpu/ diff --git a/packages/google-cloud-tpu/src/index.ts b/packages/google-cloud-tpu/src/index.ts index 0178790f2a9..6c691aaef41 100644 --- a/packages/google-cloud-tpu/src/index.ts +++ b/packages/google-cloud-tpu/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/release-please-config.json b/release-please-config.json index ca8fb90627b..1146c4ce902 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -33,6 +33,7 @@ "packages/google-cloud-security-publicca": {}, "packages/google-cloud-shell": {}, "packages/google-cloud-texttospeech": {}, + "packages/google-cloud-tpu": {}, "packages/google-cloud-translate": {}, "packages/google-cloud-videointelligence": {}, "packages/google-container": {}, @@ -49,4 +50,4 @@ } ], "release-type": "node" -} \ No newline at end of file +} From 14146d5b507d56f651d8912b70f50be5a268b768 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Fri, 11 Nov 2022 19:33:34 +0000 Subject: [PATCH 64/64] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20?= =?UTF-8?q?post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- packages/google-cloud-tpu/README.md | 52 +++---- packages/google-cloud-tpu/samples/README.md | 156 ++++++++++---------- release-please-config.json | 2 +- 3 files changed, 105 insertions(+), 105 deletions(-) diff --git a/packages/google-cloud-tpu/README.md b/packages/google-cloud-tpu/README.md index 6c571a36db4..8e85d28bf8e 100644 --- a/packages/google-cloud-tpu/README.md +++ b/packages/google-cloud-tpu/README.md @@ -87,32 +87,32 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Tpu.create_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.create_node.js,samples/README.md) | -| Tpu.delete_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.reimage_node.js,samples/README.md) | -| Tpu.start_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.start_node.js,samples/README.md) | -| Tpu.stop_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v1/tpu.stop_node.js,samples/README.md) | -| Tpu.create_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.create_node.js,samples/README.md) | -| Tpu.delete_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/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//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.start_node.js,samples/README.md) | -| Tpu.stop_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.stop_node.js,samples/README.md) | -| Tpu.update_node | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.update_node.js,samples/README.md) | -| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) | -| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/test/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/test/quickstart.js,samples/README.md) | +| 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) | diff --git a/packages/google-cloud-tpu/samples/README.md b/packages/google-cloud-tpu/samples/README.md index 204aa87fca5..2f15c64e186 100644 --- a/packages/google-cloud-tpu/samples/README.md +++ b/packages/google-cloud-tpu/samples/README.md @@ -56,14 +56,14 @@ Before running the samples, make sure you've followed the steps outlined in ### Tpu.create_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.create_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.create_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.create_node.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.create_node.js` ----- @@ -73,14 +73,14 @@ __Usage:__ ### Tpu.delete_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.delete_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.delete_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.delete_node.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.delete_node.js` ----- @@ -90,14 +90,14 @@ __Usage:__ ### Tpu.get_accelerator_type -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.get_accelerator_type.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.get_accelerator_type.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.get_accelerator_type.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.get_accelerator_type.js` ----- @@ -107,14 +107,14 @@ __Usage:__ ### Tpu.get_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.get_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.get_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.get_node.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.get_node.js` ----- @@ -124,14 +124,14 @@ __Usage:__ ### Tpu.get_tensor_flow_version -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.get_tensor_flow_version.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.get_tensor_flow_version.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.get_tensor_flow_version.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.get_tensor_flow_version.js` ----- @@ -141,14 +141,14 @@ __Usage:__ ### Tpu.list_accelerator_types -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.list_accelerator_types.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.list_accelerator_types.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.list_accelerator_types.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.list_accelerator_types.js` ----- @@ -158,14 +158,14 @@ __Usage:__ ### Tpu.list_nodes -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.list_nodes.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.list_nodes.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.list_nodes.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.list_nodes.js` ----- @@ -175,14 +175,14 @@ __Usage:__ ### Tpu.list_tensor_flow_versions -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.list_tensor_flow_versions.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.list_tensor_flow_versions.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.list_tensor_flow_versions.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.list_tensor_flow_versions.js` ----- @@ -192,14 +192,14 @@ __Usage:__ ### Tpu.reimage_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.reimage_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.reimage_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.reimage_node.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.reimage_node.js` ----- @@ -209,14 +209,14 @@ __Usage:__ ### Tpu.start_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.start_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.start_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.start_node.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.start_node.js` ----- @@ -226,14 +226,14 @@ __Usage:__ ### Tpu.stop_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v1/tpu.stop_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v1/tpu.stop_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v1/tpu.stop_node.js` +`node packages/google-cloud-tpu/samples/generated/v1/tpu.stop_node.js` ----- @@ -243,14 +243,14 @@ __Usage:__ ### Tpu.create_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.create_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.create_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.create_node.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.create_node.js` ----- @@ -260,14 +260,14 @@ __Usage:__ ### Tpu.delete_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.delete_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.delete_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.delete_node.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.delete_node.js` ----- @@ -277,14 +277,14 @@ __Usage:__ ### Tpu.generate_service_identity -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.generate_service_identity.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.generate_service_identity.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.generate_service_identity.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.generate_service_identity.js` ----- @@ -294,14 +294,14 @@ __Usage:__ ### Tpu.get_accelerator_type -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_accelerator_type.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_accelerator_type.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_accelerator_type.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_accelerator_type.js` ----- @@ -311,14 +311,14 @@ __Usage:__ ### Tpu.get_guest_attributes -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_guest_attributes.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_guest_attributes.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_guest_attributes.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_guest_attributes.js` ----- @@ -328,14 +328,14 @@ __Usage:__ ### Tpu.get_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_node.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_node.js` ----- @@ -345,14 +345,14 @@ __Usage:__ ### Tpu.get_runtime_version -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_runtime_version.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_runtime_version.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.get_runtime_version.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.get_runtime_version.js` ----- @@ -362,14 +362,14 @@ __Usage:__ ### Tpu.list_accelerator_types -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_accelerator_types.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_accelerator_types.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_accelerator_types.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_accelerator_types.js` ----- @@ -379,14 +379,14 @@ __Usage:__ ### Tpu.list_nodes -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_nodes.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_nodes.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_nodes.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_nodes.js` ----- @@ -396,14 +396,14 @@ __Usage:__ ### Tpu.list_runtime_versions -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_runtime_versions.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_runtime_versions.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.list_runtime_versions.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.list_runtime_versions.js` ----- @@ -413,14 +413,14 @@ __Usage:__ ### Tpu.start_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.start_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.start_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.start_node.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.start_node.js` ----- @@ -430,14 +430,14 @@ __Usage:__ ### Tpu.stop_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.stop_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.stop_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.stop_node.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.stop_node.js` ----- @@ -447,14 +447,14 @@ __Usage:__ ### Tpu.update_node -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha1/tpu.update_node.js). +View the [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=/workspace/google-cloud-node/samples/generated/v2alpha1/tpu.update_node.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/generated/v2alpha1/tpu.update_node.js` +`node packages/google-cloud-tpu/samples/generated/v2alpha1/tpu.update_node.js` ----- @@ -464,14 +464,14 @@ __Usage:__ ### Quickstart -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js). +View the [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=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/quickstart.js` +`node packages/google-cloud-tpu/samples/quickstart.js` ----- @@ -481,14 +481,14 @@ __Usage:__ ### Quickstart -View the [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/test/quickstart.js). +View the [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=/workspace/google-cloud-node/samples/test/quickstart.js,samples/README.md) +[![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) __Usage:__ -`node /workspace/google-cloud-node/samples/test/quickstart.js` +`node packages/google-cloud-tpu/samples/test/quickstart.js` diff --git a/release-please-config.json b/release-please-config.json index 1146c4ce902..ce017107eb2 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -50,4 +50,4 @@ } ], "release-type": "node" -} +} \ No newline at end of file