From 17fff470b822fce43ca1dfb7455d4b655f77072b Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Wed, 10 Jun 2026 19:18:38 +0000 Subject: [PATCH] feat: migrate google-cloud-hypercomputecluster to librarian --- librarian.yaml | 1 - .../.OwlBot.yaml | 19 - .../.gitattributes | 4 - .../.repo-metadata.json | 31 +- .../CODE_OF_CONDUCT.md | 94 - .../CONTRIBUTING.md | 76 - .../google-cloud-hypercomputecluster/LICENSE | 202 - .../protos/protos.d.ts | 625 +- .../protos/protos.js | 10960 ++++++++++++---- .../protos/protos.json | 238 +- .../src/v1/hypercompute_cluster_client.ts | 1755 ++- .../src/v1/index.ts | 2 +- .../v1alpha/hypercompute_cluster_client.ts | 2556 ++-- .../src/v1alpha/index.ts | 4 +- .../v1alpha/machine_learning_runs_client.ts | 5879 +++++---- .../src/v1beta/hypercompute_cluster_client.ts | 1764 ++- .../src/v1beta/index.ts | 2 +- .../system-test/fixtures/sample/src/index.ts | 6 +- .../system-test/install.ts | 24 +- .../test/gapic_hypercompute_cluster_v1.ts | 4333 +++--- .../gapic_hypercompute_cluster_v1alpha.ts | 6406 +++++---- .../test/gapic_hypercompute_cluster_v1beta.ts | 4287 +++--- .../gapic_machine_learning_runs_v1alpha.ts | 9972 ++++++++------ .../webpack.config.js | 2 +- 24 files changed, 30914 insertions(+), 18328 deletions(-) delete mode 100644 packages/google-cloud-hypercomputecluster/.OwlBot.yaml delete mode 100644 packages/google-cloud-hypercomputecluster/.gitattributes delete mode 100644 packages/google-cloud-hypercomputecluster/CODE_OF_CONDUCT.md delete mode 100644 packages/google-cloud-hypercomputecluster/CONTRIBUTING.md delete mode 100644 packages/google-cloud-hypercomputecluster/LICENSE diff --git a/librarian.yaml b/librarian.yaml index 741e81739465..fdb3c5025da0 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -977,7 +977,6 @@ libraries: - path: google/cloud/hypercomputecluster/v1beta - path: google/cloud/hypercomputecluster/v1alpha copyright_year: "2026" - skip_generate: true nodejs: default_version: v1beta - name: google-cloud-iap diff --git a/packages/google-cloud-hypercomputecluster/.OwlBot.yaml b/packages/google-cloud-hypercomputecluster/.OwlBot.yaml deleted file mode 100644 index e26a1a9ecc54..000000000000 --- a/packages/google-cloud-hypercomputecluster/.OwlBot.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -deep-copy-regex: - - source: /google/cloud/hypercomputecluster/google-cloud-hypercomputecluster-nodejs - dest: /owl-bot-staging/google-cloud-hypercomputecluster - -api-name: hypercomputecluster diff --git a/packages/google-cloud-hypercomputecluster/.gitattributes b/packages/google-cloud-hypercomputecluster/.gitattributes deleted file mode 100644 index 33739cb74e44..000000000000 --- a/packages/google-cloud-hypercomputecluster/.gitattributes +++ /dev/null @@ -1,4 +0,0 @@ -*.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-hypercomputecluster/.repo-metadata.json b/packages/google-cloud-hypercomputecluster/.repo-metadata.json index 7254227e62b0..71da205c4032 100644 --- a/packages/google-cloud-hypercomputecluster/.repo-metadata.json +++ b/packages/google-cloud-hypercomputecluster/.repo-metadata.json @@ -1,17 +1,16 @@ { - "name": "hypercomputecluster", - "name_pretty": "Cluster Director API", - "product_documentation": "https://cloud.google.com/blog/products/compute/managed-slurm-and-other-cluster-director-enhancements", - "client_documentation": "https://cloud.google.com/nodejs/docs/reference/hypercomputecluster/latest", - "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues", - "release_level": "preview", - "language": "nodejs", - "repo": "googleapis/google-cloud-node", - "distribution_name": "@google-cloud/hypercomputecluster", - "api_id": "hypercomputecluster.googleapis.com", - "default_version": "v1beta", - "requires_billing": true, - "library_type": "GAPIC_AUTO", - "api_shortname": "hypercomputecluster" -} - + "api_description": "The Cluster Director API allows you to deploy, manage, and monitor clusters\nthat run AI, ML, or HPC workloads.", + "api_id": "hypercomputecluster.googleapis.com", + "api_shortname": "hypercomputecluster", + "client_documentation": "https://cloud.google.com/nodejs/docs/reference/hypercomputecluster/latest", + "default_version": "v1beta", + "distribution_name": "@google-cloud/hypercomputecluster", + "issue_tracker": "https://issuetracker.google.com/issues/new?component=1907878&template=2195617", + "language": "nodejs", + "library_type": "GAPIC_AUTO", + "name": "hypercomputecluster", + "name_pretty": "Cluster Director", + "product_documentation": "https://cloud.google.com/cluster-director/docs", + "release_level": "preview", + "repo": "googleapis/google-cloud-node" +} \ No newline at end of file diff --git a/packages/google-cloud-hypercomputecluster/CODE_OF_CONDUCT.md b/packages/google-cloud-hypercomputecluster/CODE_OF_CONDUCT.md deleted file mode 100644 index 2add2547a812..000000000000 --- a/packages/google-cloud-hypercomputecluster/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,94 +0,0 @@ - -# 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-hypercomputecluster/CONTRIBUTING.md b/packages/google-cloud-hypercomputecluster/CONTRIBUTING.md deleted file mode 100644 index 4b8c3e0aeee2..000000000000 --- a/packages/google-cloud-hypercomputecluster/CONTRIBUTING.md +++ /dev/null @@ -1,76 +0,0 @@ -# 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 Hypercomputecluster 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=hypercomputecluster.googleapis.com -[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file diff --git a/packages/google-cloud-hypercomputecluster/LICENSE b/packages/google-cloud-hypercomputecluster/LICENSE deleted file mode 100644 index d64569567334..000000000000 --- a/packages/google-cloud-hypercomputecluster/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - 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-hypercomputecluster/protos/protos.d.ts b/packages/google-cloud-hypercomputecluster/protos/protos.d.ts index e2004506e55f..2a68bad3c4a1 100644 --- a/packages/google-cloud-hypercomputecluster/protos/protos.d.ts +++ b/packages/google-cloud-hypercomputecluster/protos/protos.d.ts @@ -26827,6 +26827,9 @@ export namespace google { /** CommonLanguageSettings destinations */ destinations?: (google.api.ClientLibraryDestination[]|null); + + /** CommonLanguageSettings selectiveGapicGeneration */ + selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); } /** Represents a CommonLanguageSettings. */ @@ -26844,6 +26847,9 @@ export namespace google { /** CommonLanguageSettings destinations. */ public destinations: google.api.ClientLibraryDestination[]; + /** CommonLanguageSettings selectiveGapicGeneration. */ + public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @param [properties] Properties to set @@ -27544,6 +27550,9 @@ export namespace google { /** PythonSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** PythonSettings experimentalFeatures */ + experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); } /** Represents a PythonSettings. */ @@ -27558,6 +27567,9 @@ export namespace google { /** PythonSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** PythonSettings experimentalFeatures. */ + public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); + /** * Creates a new PythonSettings instance using the specified properties. * @param [properties] Properties to set @@ -27636,6 +27648,118 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + namespace PythonSettings { + + /** Properties of an ExperimentalFeatures. */ + interface IExperimentalFeatures { + + /** ExperimentalFeatures restAsyncIoEnabled */ + restAsyncIoEnabled?: (boolean|null); + + /** ExperimentalFeatures protobufPythonicTypesEnabled */ + protobufPythonicTypesEnabled?: (boolean|null); + + /** ExperimentalFeatures unversionedPackageDisabled */ + unversionedPackageDisabled?: (boolean|null); + } + + /** Represents an ExperimentalFeatures. */ + class ExperimentalFeatures implements IExperimentalFeatures { + + /** + * Constructs a new ExperimentalFeatures. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.PythonSettings.IExperimentalFeatures); + + /** ExperimentalFeatures restAsyncIoEnabled. */ + public restAsyncIoEnabled: boolean; + + /** ExperimentalFeatures protobufPythonicTypesEnabled. */ + public protobufPythonicTypesEnabled: boolean; + + /** ExperimentalFeatures unversionedPackageDisabled. */ + public unversionedPackageDisabled: boolean; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @param [properties] Properties to set + * @returns ExperimentalFeatures instance + */ + public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Verifies an ExperimentalFeatures message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExperimentalFeatures + */ + public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @param message ExperimentalFeatures + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExperimentalFeatures + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + /** Properties of a NodeSettings. */ interface INodeSettings { @@ -27962,6 +28086,9 @@ export namespace google { /** GoSettings common */ common?: (google.api.ICommonLanguageSettings|null); + + /** GoSettings renamedServices */ + renamedServices?: ({ [k: string]: string }|null); } /** Represents a GoSettings. */ @@ -27976,6 +28103,9 @@ export namespace google { /** GoSettings common. */ public common?: (google.api.ICommonLanguageSettings|null); + /** GoSettings renamedServices. */ + public renamedServices: { [k: string]: string }; + /** * Creates a new GoSettings instance using the specified properties. * @param [properties] Properties to set @@ -28300,6 +28430,109 @@ export namespace google { PACKAGE_MANAGER = 20 } + /** Properties of a SelectiveGapicGeneration. */ + interface ISelectiveGapicGeneration { + + /** SelectiveGapicGeneration methods */ + methods?: (string[]|null); + + /** SelectiveGapicGeneration generateOmittedAsInternal */ + generateOmittedAsInternal?: (boolean|null); + } + + /** Represents a SelectiveGapicGeneration. */ + class SelectiveGapicGeneration implements ISelectiveGapicGeneration { + + /** + * Constructs a new SelectiveGapicGeneration. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ISelectiveGapicGeneration); + + /** SelectiveGapicGeneration methods. */ + public methods: string[]; + + /** SelectiveGapicGeneration generateOmittedAsInternal. */ + public generateOmittedAsInternal: boolean; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @param [properties] Properties to set + * @returns SelectiveGapicGeneration instance + */ + public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration; + + /** + * Verifies a SelectiveGapicGeneration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SelectiveGapicGeneration + */ + public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @param message SelectiveGapicGeneration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** LaunchStage enum. */ enum LaunchStage { LAUNCH_STAGE_UNSPECIFIED = 0, @@ -28330,6 +28563,9 @@ export namespace google { /** FieldInfo format */ format?: (google.api.FieldInfo.Format|keyof typeof google.api.FieldInfo.Format|null); + + /** FieldInfo referencedTypes */ + referencedTypes?: (google.api.ITypeReference[]|null); } /** Represents a FieldInfo. */ @@ -28344,6 +28580,9 @@ export namespace google { /** FieldInfo format. */ public format: (google.api.FieldInfo.Format|keyof typeof google.api.FieldInfo.Format); + /** FieldInfo referencedTypes. */ + public referencedTypes: google.api.ITypeReference[]; + /** * Creates a new FieldInfo instance using the specified properties. * @param [properties] Properties to set @@ -28434,6 +28673,103 @@ export namespace google { } } + /** Properties of a TypeReference. */ + interface ITypeReference { + + /** TypeReference typeName */ + typeName?: (string|null); + } + + /** Represents a TypeReference. */ + class TypeReference implements ITypeReference { + + /** + * Constructs a new TypeReference. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ITypeReference); + + /** TypeReference typeName. */ + public typeName: string; + + /** + * Creates a new TypeReference instance using the specified properties. + * @param [properties] Properties to set + * @returns TypeReference instance + */ + public static create(properties?: google.api.ITypeReference): google.api.TypeReference; + + /** + * Encodes the specified TypeReference message. Does not implicitly {@link google.api.TypeReference.verify|verify} messages. + * @param message TypeReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ITypeReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TypeReference message, length delimited. Does not implicitly {@link google.api.TypeReference.verify|verify} messages. + * @param message TypeReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ITypeReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TypeReference message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TypeReference + * @throws {Error} If the payload is not 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.TypeReference; + + /** + * Decodes a TypeReference message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TypeReference + * @throws {Error} If the payload 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.TypeReference; + + /** + * Verifies a TypeReference message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TypeReference message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TypeReference + */ + public static fromObject(object: { [k: string]: any }): google.api.TypeReference; + + /** + * Creates a plain object from a TypeReference message. Also converts values to other types if specified. + * @param message TypeReference + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.TypeReference, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TypeReference to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TypeReference + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a ResourceDescriptor. */ interface IResourceDescriptor { @@ -28790,6 +29126,7 @@ export namespace google { /** Edition enum. */ enum Edition { EDITION_UNKNOWN = 0, + EDITION_LEGACY = 900, EDITION_PROTO2 = 998, EDITION_PROTO3 = 999, EDITION_2023 = 1000, @@ -28820,6 +29157,9 @@ export namespace google { /** FileDescriptorProto weakDependency */ weakDependency?: (number[]|null); + /** FileDescriptorProto optionDependency */ + optionDependency?: (string[]|null); + /** FileDescriptorProto messageType */ messageType?: (google.protobuf.IDescriptorProto[]|null); @@ -28869,6 +29209,9 @@ export namespace google { /** FileDescriptorProto weakDependency. */ public weakDependency: number[]; + /** FileDescriptorProto optionDependency. */ + public optionDependency: string[]; + /** FileDescriptorProto messageType. */ public messageType: google.protobuf.IDescriptorProto[]; @@ -29003,6 +29346,9 @@ export namespace google { /** DescriptorProto reservedName */ reservedName?: (string[]|null); + + /** DescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents a DescriptorProto. */ @@ -29044,6 +29390,9 @@ export namespace google { /** DescriptorProto reservedName. */ public reservedName: string[]; + /** DescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new DescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -29891,6 +30240,9 @@ export namespace google { /** EnumDescriptorProto reservedName */ reservedName?: (string[]|null); + + /** EnumDescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); } /** Represents an EnumDescriptorProto. */ @@ -29917,6 +30269,9 @@ export namespace google { /** EnumDescriptorProto reservedName. */ public reservedName: string[]; + /** EnumDescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -30851,6 +31206,9 @@ export namespace google { /** FieldOptions features */ features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); @@ -30909,6 +31267,9 @@ export namespace google { /** FieldOptions features. */ public features?: (google.protobuf.IFeatureSet|null); + /** FieldOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** FieldOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -31129,6 +31490,121 @@ export namespace google { */ public static getTypeUrl(typeUrlPrefix?: string): string; } + + /** Properties of a FeatureSupport. */ + interface IFeatureSupport { + + /** FeatureSupport editionIntroduced */ + editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport editionDeprecated */ + editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport deprecationWarning */ + deprecationWarning?: (string|null); + + /** FeatureSupport editionRemoved */ + editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FeatureSupport. */ + class FeatureSupport implements IFeatureSupport { + + /** + * Constructs a new FeatureSupport. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport); + + /** FeatureSupport editionIntroduced. */ + public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport editionDeprecated. */ + public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport deprecationWarning. */ + public deprecationWarning: string; + + /** FeatureSupport editionRemoved. */ + public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSupport instance + */ + public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Verifies a FeatureSupport message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSupport + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. + * @param message FeatureSupport + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSupport to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSupport + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } /** Properties of an OneofOptions. */ @@ -31367,6 +31843,9 @@ export namespace google { /** EnumValueOptions debugRedact */ debugRedact?: (boolean|null); + /** EnumValueOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); } @@ -31389,6 +31868,9 @@ export namespace google { /** EnumValueOptions debugRedact. */ public debugRedact: boolean; + /** EnumValueOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + /** EnumValueOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -31981,6 +32463,12 @@ export namespace google { /** FeatureSet jsonFormat */ jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null); + + /** FeatureSet enforceNamingStyle */ + enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null); + + /** FeatureSet defaultSymbolVisibility */ + defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null); } /** Represents a FeatureSet. */ @@ -32010,6 +32498,12 @@ export namespace google { /** FeatureSet jsonFormat. */ public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat); + /** FeatureSet enforceNamingStyle. */ + public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle); + + /** FeatureSet defaultSymbolVisibility. */ + public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility); + /** * Creates a new FeatureSet instance using the specified properties. * @param [properties] Properties to set @@ -32132,6 +32626,116 @@ export namespace google { ALLOW = 1, LEGACY_BEST_EFFORT = 2 } + + /** EnforceNamingStyle enum. */ + enum EnforceNamingStyle { + ENFORCE_NAMING_STYLE_UNKNOWN = 0, + STYLE2024 = 1, + STYLE_LEGACY = 2 + } + + /** Properties of a VisibilityFeature. */ + interface IVisibilityFeature { + } + + /** Represents a VisibilityFeature. */ + class VisibilityFeature implements IVisibilityFeature { + + /** + * Constructs a new VisibilityFeature. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature); + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @param [properties] Properties to set + * @returns VisibilityFeature instance + */ + public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Verifies a VisibilityFeature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VisibilityFeature + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @param message VisibilityFeature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VisibilityFeature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VisibilityFeature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace VisibilityFeature { + + /** DefaultSymbolVisibility enum. */ + enum DefaultSymbolVisibility { + DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0, + EXPORT_ALL = 1, + EXPORT_TOP_LEVEL = 2, + LOCAL_ALL = 3, + STRICT = 4 + } + } } /** Properties of a FeatureSetDefaults. */ @@ -32251,8 +32855,11 @@ export namespace google { /** FeatureSetEditionDefault edition */ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures */ + overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures */ + fixedFeatures?: (google.protobuf.IFeatureSet|null); } /** Represents a FeatureSetEditionDefault. */ @@ -32267,8 +32874,11 @@ export namespace google { /** FeatureSetEditionDefault edition. */ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); + /** FeatureSetEditionDefault overridableFeatures. */ + public overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures. */ + public fixedFeatures?: (google.protobuf.IFeatureSet|null); /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -32801,6 +33411,13 @@ export namespace google { } } + /** SymbolVisibility enum. */ + enum SymbolVisibility { + VISIBILITY_UNSET = 0, + VISIBILITY_LOCAL = 1, + VISIBILITY_EXPORT = 2 + } + /** Properties of a Duration. */ interface IDuration { diff --git a/packages/google-cloud-hypercomputecluster/protos/protos.js b/packages/google-cloud-hypercomputecluster/protos/protos.js index 63e3428982c2..625b80c73898 100644 --- a/packages/google-cloud-hypercomputecluster/protos/protos.js +++ b/packages/google-cloud-hypercomputecluster/protos/protos.js @@ -299,7 +299,7 @@ this.computeResources = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -464,9 +464,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cluster.decode = function decode(reader, length, error) { + Cluster.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.Cluster(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -497,19 +501,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 2: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { @@ -529,13 +535,15 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1.NetworkResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1.NetworkResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.networkResources, key); message.networkResources[key] = value; break; } @@ -552,13 +560,15 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1.StorageResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1.StorageResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.storageResources, key); message.storageResources[key] = value; break; } @@ -575,22 +585,24 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1.ComputeResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1.ComputeResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.computeResources, key); message.computeResources[key] = value; break; } case 8: { - message.orchestrator = $root.google.cloud.hypercomputecluster.v1.Orchestrator.decode(reader, reader.uint32()); + message.orchestrator = $root.google.cloud.hypercomputecluster.v1.Orchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -621,9 +633,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cluster.verify = function verify(message) { + Cluster.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -639,12 +655,12 @@ return "labels: string{k:string} expected"; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -656,7 +672,7 @@ return "networkResources: object expected"; var key = Object.keys(message.networkResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.NetworkResource.verify(message.networkResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1.NetworkResource.verify(message.networkResources[key[i]], long + 1); if (error) return "networkResources." + error; } @@ -666,7 +682,7 @@ return "storageResources: object expected"; var key = Object.keys(message.storageResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.StorageResource.verify(message.storageResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1.StorageResource.verify(message.storageResources[key[i]], long + 1); if (error) return "storageResources." + error; } @@ -676,13 +692,13 @@ return "computeResources: object expected"; var key = Object.keys(message.computeResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.ComputeResource.verify(message.computeResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1.ComputeResource.verify(message.computeResources[key[i]], long + 1); if (error) return "computeResources." + error; } } if (message.orchestrator != null && message.hasOwnProperty("orchestrator")) { - var error = $root.google.cloud.hypercomputecluster.v1.Orchestrator.verify(message.orchestrator); + var error = $root.google.cloud.hypercomputecluster.v1.Orchestrator.verify(message.orchestrator, long + 1); if (error) return "orchestrator." + error; } @@ -697,9 +713,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.Cluster} Cluster */ - Cluster.fromObject = function fromObject(object) { + Cluster.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.Cluster) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.Cluster(); if (object.name != null) message.name = String(object.name); @@ -709,18 +729,21 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.reconciling != null) message.reconciling = Boolean(object.reconciling); @@ -729,9 +752,11 @@ throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.networkResources: object expected"); message.networkResources = {}; for (var keys = Object.keys(object.networkResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.networkResources, keys[i]); if (typeof object.networkResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.networkResources: object expected"); - message.networkResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1.NetworkResource.fromObject(object.networkResources[keys[i]]); + message.networkResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1.NetworkResource.fromObject(object.networkResources[keys[i]], long + 1); } } if (object.storageResources) { @@ -739,9 +764,11 @@ throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.storageResources: object expected"); message.storageResources = {}; for (var keys = Object.keys(object.storageResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.storageResources, keys[i]); if (typeof object.storageResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.storageResources: object expected"); - message.storageResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1.StorageResource.fromObject(object.storageResources[keys[i]]); + message.storageResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1.StorageResource.fromObject(object.storageResources[keys[i]], long + 1); } } if (object.computeResources) { @@ -749,15 +776,17 @@ throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.computeResources: object expected"); message.computeResources = {}; for (var keys = Object.keys(object.computeResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.computeResources, keys[i]); if (typeof object.computeResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.computeResources: object expected"); - message.computeResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1.ComputeResource.fromObject(object.computeResources[keys[i]]); + message.computeResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1.ComputeResource.fromObject(object.computeResources[keys[i]], long + 1); } } if (object.orchestrator != null) { if (typeof object.orchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Cluster.orchestrator: object expected"); - message.orchestrator = $root.google.cloud.hypercomputecluster.v1.Orchestrator.fromObject(object.orchestrator); + message.orchestrator = $root.google.cloud.hypercomputecluster.v1.Orchestrator.fromObject(object.orchestrator, long + 1); } return message; }; @@ -798,8 +827,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.orchestrator != null && message.hasOwnProperty("orchestrator")) object.orchestrator = $root.google.cloud.hypercomputecluster.v1.Orchestrator.toObject(message.orchestrator, options); @@ -809,18 +841,27 @@ object.reconciling = message.reconciling; if (message.networkResources && (keys2 = Object.keys(message.networkResources)).length) { object.networkResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.networkResources, keys2[j]); object.networkResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1.NetworkResource.toObject(message.networkResources[keys2[j]], options); + } } if (message.storageResources && (keys2 = Object.keys(message.storageResources)).length) { object.storageResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.storageResources, keys2[j]); object.storageResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1.StorageResource.toObject(message.storageResources[keys2[j]], options); + } } if (message.computeResources && (keys2 = Object.keys(message.computeResources)).length) { object.computeResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.computeResources, keys2[j]); object.computeResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1.ComputeResource.toObject(message.computeResources[keys2[j]], options); + } } return object; }; @@ -878,7 +919,7 @@ function ListClustersRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -983,9 +1024,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListClustersRequest.decode = function decode(reader, length, error) { + ListClustersRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ListClustersRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1013,7 +1058,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1044,9 +1089,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListClustersRequest.verify = function verify(message) { + ListClustersRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -1073,9 +1122,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ListClustersRequest} ListClustersRequest */ - ListClustersRequest.fromObject = function fromObject(object) { + ListClustersRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ListClustersRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ListClustersRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -1176,7 +1229,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1263,9 +1316,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListClustersResponse.decode = function decode(reader, length, error) { + ListClustersResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ListClustersResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1275,7 +1332,7 @@ case 1: { if (!(message.clusters && message.clusters.length)) message.clusters = []; - message.clusters.push($root.google.cloud.hypercomputecluster.v1.Cluster.decode(reader, reader.uint32())); + message.clusters.push($root.google.cloud.hypercomputecluster.v1.Cluster.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -1289,7 +1346,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1320,14 +1377,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListClustersResponse.verify = function verify(message) { + ListClustersResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.clusters != null && message.hasOwnProperty("clusters")) { if (!Array.isArray(message.clusters)) return "clusters: array expected"; for (var i = 0; i < message.clusters.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.Cluster.verify(message.clusters[i]); + var error = $root.google.cloud.hypercomputecluster.v1.Cluster.verify(message.clusters[i], long + 1); if (error) return "clusters." + error; } @@ -1353,9 +1414,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ListClustersResponse} ListClustersResponse */ - ListClustersResponse.fromObject = function fromObject(object) { + ListClustersResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ListClustersResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ListClustersResponse(); if (object.clusters) { if (!Array.isArray(object.clusters)) @@ -1364,7 +1429,7 @@ for (var i = 0; i < object.clusters.length; ++i) { if (typeof object.clusters[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ListClustersResponse.clusters: object expected"); - message.clusters[i] = $root.google.cloud.hypercomputecluster.v1.Cluster.fromObject(object.clusters[i]); + message.clusters[i] = $root.google.cloud.hypercomputecluster.v1.Cluster.fromObject(object.clusters[i], long + 1); } } if (object.nextPageToken != null) @@ -1462,7 +1527,7 @@ function GetClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1527,9 +1592,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetClusterRequest.decode = function decode(reader, length, error) { + GetClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.GetClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1541,7 +1610,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1572,9 +1641,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetClusterRequest.verify = function verify(message) { + GetClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1589,9 +1662,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.GetClusterRequest} GetClusterRequest */ - GetClusterRequest.fromObject = function fromObject(object) { + GetClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.GetClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.GetClusterRequest(); if (object.name != null) message.name = String(object.name); @@ -1670,7 +1747,7 @@ function CreateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1765,9 +1842,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateClusterRequest.decode = function decode(reader, length, error) { + CreateClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1783,7 +1864,7 @@ break; } case 3: { - message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.decode(reader, reader.uint32()); + message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -1791,7 +1872,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1822,9 +1903,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateClusterRequest.verify = function verify(message) { + CreateClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -1832,7 +1917,7 @@ if (!$util.isString(message.clusterId)) return "clusterId: string expected"; if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.hypercomputecluster.v1.Cluster.verify(message.cluster); + var error = $root.google.cloud.hypercomputecluster.v1.Cluster.verify(message.cluster, long + 1); if (error) return "cluster." + error; } @@ -1850,9 +1935,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateClusterRequest} CreateClusterRequest */ - CreateClusterRequest.fromObject = function fromObject(object) { + CreateClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.CreateClusterRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -1861,7 +1950,7 @@ if (object.cluster != null) { if (typeof object.cluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.CreateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.fromObject(object.cluster); + message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.fromObject(object.cluster, long + 1); } if (object.requestId != null) message.requestId = String(object.requestId); @@ -1949,7 +2038,7 @@ function UpdateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2034,9 +2123,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateClusterRequest.decode = function decode(reader, length, error) { + UpdateClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.UpdateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2044,11 +2137,11 @@ break; switch (tag >>> 3) { case 2: { - message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.decode(reader, reader.uint32()); + message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -2056,7 +2149,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2087,16 +2180,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateClusterRequest.verify = function verify(message) { + UpdateClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.hypercomputecluster.v1.Cluster.verify(message.cluster); + var error = $root.google.cloud.hypercomputecluster.v1.Cluster.verify(message.cluster, long + 1); if (error) return "cluster." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -2114,19 +2211,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.UpdateClusterRequest} UpdateClusterRequest */ - UpdateClusterRequest.fromObject = function fromObject(object) { + UpdateClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.UpdateClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.UpdateClusterRequest(); if (object.cluster != null) { if (typeof object.cluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.UpdateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.fromObject(object.cluster); + message.cluster = $root.google.cloud.hypercomputecluster.v1.Cluster.fromObject(object.cluster, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.UpdateClusterRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.requestId != null) message.requestId = String(object.requestId); @@ -2210,7 +2311,7 @@ function DeleteClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2285,9 +2386,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteClusterRequest.decode = function decode(reader, length, error) { + DeleteClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2303,7 +2408,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2334,9 +2439,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteClusterRequest.verify = function verify(message) { + DeleteClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -2354,9 +2463,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteClusterRequest} DeleteClusterRequest */ - DeleteClusterRequest.fromObject = function fromObject(object) { + DeleteClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.DeleteClusterRequest(); if (object.name != null) message.name = String(object.name); @@ -2439,7 +2552,7 @@ function NetworkResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2528,9 +2641,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkResource.decode = function decode(reader, length, error) { + NetworkResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NetworkResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2538,15 +2655,15 @@ break; switch (tag >>> 3) { case 3: { - message.network = $root.google.cloud.hypercomputecluster.v1.NetworkReference.decode(reader, reader.uint32()); + message.network = $root.google.cloud.hypercomputecluster.v1.NetworkReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.config = $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2577,20 +2694,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkResource.verify = function verify(message) { + NetworkResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.network != null && message.hasOwnProperty("network")) { properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NetworkReference.verify(message.network); + var error = $root.google.cloud.hypercomputecluster.v1.NetworkReference.verify(message.network, long + 1); if (error) return "network." + error; } } if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -2605,19 +2726,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NetworkResource} NetworkResource */ - NetworkResource.fromObject = function fromObject(object) { + NetworkResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NetworkResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NetworkResource(); if (object.network != null) { if (typeof object.network !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NetworkResource.network: object expected"); - message.network = $root.google.cloud.hypercomputecluster.v1.NetworkReference.fromObject(object.network); + message.network = $root.google.cloud.hypercomputecluster.v1.NetworkReference.fromObject(object.network, long + 1); } if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NetworkResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -2697,7 +2822,7 @@ function NetworkReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2772,9 +2897,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkReference.decode = function decode(reader, length, error) { + NetworkReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NetworkReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2790,7 +2919,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2821,9 +2950,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkReference.verify = function verify(message) { + NetworkReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -2841,9 +2974,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NetworkReference} NetworkReference */ - NetworkReference.fromObject = function fromObject(object) { + NetworkReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NetworkReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NetworkReference(); if (object.network != null) message.network = String(object.network); @@ -2926,7 +3063,7 @@ function NetworkResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3015,9 +3152,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkResourceConfig.decode = function decode(reader, length, error) { + NetworkResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3025,15 +3166,15 @@ break; switch (tag >>> 3) { case 3: { - message.newNetwork = $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig.decode(reader, reader.uint32()); + message.newNetwork = $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.existingNetwork = $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig.decode(reader, reader.uint32()); + message.existingNetwork = $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3064,14 +3205,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkResourceConfig.verify = function verify(message) { + NetworkResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newNetwork != null && message.hasOwnProperty("newNetwork")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig.verify(message.newNetwork); + var error = $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig.verify(message.newNetwork, long + 1); if (error) return "newNetwork." + error; } @@ -3081,7 +3226,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig.verify(message.existingNetwork); + var error = $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig.verify(message.existingNetwork, long + 1); if (error) return "existingNetwork." + error; } @@ -3097,19 +3242,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NetworkResourceConfig} NetworkResourceConfig */ - NetworkResourceConfig.fromObject = function fromObject(object) { + NetworkResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NetworkResourceConfig(); if (object.newNetwork != null) { if (typeof object.newNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NetworkResourceConfig.newNetwork: object expected"); - message.newNetwork = $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig.fromObject(object.newNetwork); + message.newNetwork = $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig.fromObject(object.newNetwork, long + 1); } if (object.existingNetwork != null) { if (typeof object.existingNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NetworkResourceConfig.existingNetwork: object expected"); - message.existingNetwork = $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig.fromObject(object.existingNetwork); + message.existingNetwork = $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig.fromObject(object.existingNetwork, long + 1); } return message; }; @@ -3190,7 +3339,7 @@ function NewNetworkConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3265,9 +3414,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewNetworkConfig.decode = function decode(reader, length, error) { + NewNetworkConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3283,7 +3436,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3314,9 +3467,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewNetworkConfig.verify = function verify(message) { + NewNetworkConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -3334,9 +3491,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewNetworkConfig} NewNetworkConfig */ - NewNetworkConfig.fromObject = function fromObject(object) { + NewNetworkConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewNetworkConfig(); if (object.network != null) message.network = String(object.network); @@ -3419,7 +3580,7 @@ function ExistingNetworkConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3494,9 +3655,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingNetworkConfig.decode = function decode(reader, length, error) { + ExistingNetworkConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3512,7 +3677,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3543,9 +3708,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingNetworkConfig.verify = function verify(message) { + ExistingNetworkConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -3563,9 +3732,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ExistingNetworkConfig} ExistingNetworkConfig */ - ExistingNetworkConfig.fromObject = function fromObject(object) { + ExistingNetworkConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ExistingNetworkConfig(); if (object.network != null) message.network = String(object.network); @@ -3650,7 +3823,7 @@ function StorageResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3759,9 +3932,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageResource.decode = function decode(reader, length, error) { + StorageResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.StorageResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3769,23 +3946,23 @@ break; switch (tag >>> 3) { case 1: { - message.filestore = $root.google.cloud.hypercomputecluster.v1.FilestoreReference.decode(reader, reader.uint32()); + message.filestore = $root.google.cloud.hypercomputecluster.v1.FilestoreReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.bucket = $root.google.cloud.hypercomputecluster.v1.BucketReference.decode(reader, reader.uint32()); + message.bucket = $root.google.cloud.hypercomputecluster.v1.BucketReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.lustre = $root.google.cloud.hypercomputecluster.v1.LustreReference.decode(reader, reader.uint32()); + message.lustre = $root.google.cloud.hypercomputecluster.v1.LustreReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.config = $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3816,14 +3993,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageResource.verify = function verify(message) { + StorageResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.filestore != null && message.hasOwnProperty("filestore")) { properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.FilestoreReference.verify(message.filestore); + var error = $root.google.cloud.hypercomputecluster.v1.FilestoreReference.verify(message.filestore, long + 1); if (error) return "filestore." + error; } @@ -3833,7 +4014,7 @@ return "reference: multiple values"; properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.BucketReference.verify(message.bucket); + var error = $root.google.cloud.hypercomputecluster.v1.BucketReference.verify(message.bucket, long + 1); if (error) return "bucket." + error; } @@ -3843,13 +4024,13 @@ return "reference: multiple values"; properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.LustreReference.verify(message.lustre); + var error = $root.google.cloud.hypercomputecluster.v1.LustreReference.verify(message.lustre, long + 1); if (error) return "lustre." + error; } } if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -3864,29 +4045,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.StorageResource} StorageResource */ - StorageResource.fromObject = function fromObject(object) { + StorageResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.StorageResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.StorageResource(); if (object.filestore != null) { if (typeof object.filestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResource.filestore: object expected"); - message.filestore = $root.google.cloud.hypercomputecluster.v1.FilestoreReference.fromObject(object.filestore); + message.filestore = $root.google.cloud.hypercomputecluster.v1.FilestoreReference.fromObject(object.filestore, long + 1); } if (object.bucket != null) { if (typeof object.bucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResource.bucket: object expected"); - message.bucket = $root.google.cloud.hypercomputecluster.v1.BucketReference.fromObject(object.bucket); + message.bucket = $root.google.cloud.hypercomputecluster.v1.BucketReference.fromObject(object.bucket, long + 1); } if (object.lustre != null) { if (typeof object.lustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResource.lustre: object expected"); - message.lustre = $root.google.cloud.hypercomputecluster.v1.LustreReference.fromObject(object.lustre); + message.lustre = $root.google.cloud.hypercomputecluster.v1.LustreReference.fromObject(object.lustre, long + 1); } if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -3975,7 +4160,7 @@ function FilestoreReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4040,9 +4225,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FilestoreReference.decode = function decode(reader, length, error) { + FilestoreReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.FilestoreReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4054,7 +4243,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4085,9 +4274,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FilestoreReference.verify = function verify(message) { + FilestoreReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -4102,9 +4295,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.FilestoreReference} FilestoreReference */ - FilestoreReference.fromObject = function fromObject(object) { + FilestoreReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.FilestoreReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.FilestoreReference(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -4180,7 +4377,7 @@ function BucketReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4245,9 +4442,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BucketReference.decode = function decode(reader, length, error) { + BucketReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.BucketReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4259,7 +4460,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4290,9 +4491,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BucketReference.verify = function verify(message) { + BucketReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -4307,9 +4512,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.BucketReference} BucketReference */ - BucketReference.fromObject = function fromObject(object) { + BucketReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.BucketReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.BucketReference(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -4385,7 +4594,7 @@ function LustreReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4450,9 +4659,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LustreReference.decode = function decode(reader, length, error) { + LustreReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.LustreReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4464,7 +4677,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4495,9 +4708,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LustreReference.verify = function verify(message) { + LustreReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -4512,9 +4729,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.LustreReference} LustreReference */ - LustreReference.fromObject = function fromObject(object) { + LustreReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.LustreReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.LustreReference(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -4595,7 +4816,7 @@ function StorageResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4724,9 +4945,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageResourceConfig.decode = function decode(reader, length, error) { + StorageResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4734,31 +4959,31 @@ break; switch (tag >>> 3) { case 1: { - message.newFilestore = $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig.decode(reader, reader.uint32()); + message.newFilestore = $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.existingFilestore = $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig.decode(reader, reader.uint32()); + message.existingFilestore = $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.newBucket = $root.google.cloud.hypercomputecluster.v1.NewBucketConfig.decode(reader, reader.uint32()); + message.newBucket = $root.google.cloud.hypercomputecluster.v1.NewBucketConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.existingBucket = $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig.decode(reader, reader.uint32()); + message.existingBucket = $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.newLustre = $root.google.cloud.hypercomputecluster.v1.NewLustreConfig.decode(reader, reader.uint32()); + message.newLustre = $root.google.cloud.hypercomputecluster.v1.NewLustreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.existingLustre = $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig.decode(reader, reader.uint32()); + message.existingLustre = $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4789,14 +5014,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageResourceConfig.verify = function verify(message) { + StorageResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newFilestore != null && message.hasOwnProperty("newFilestore")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig.verify(message.newFilestore); + var error = $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig.verify(message.newFilestore, long + 1); if (error) return "newFilestore." + error; } @@ -4806,7 +5035,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig.verify(message.existingFilestore); + var error = $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig.verify(message.existingFilestore, long + 1); if (error) return "existingFilestore." + error; } @@ -4816,7 +5045,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewBucketConfig.verify(message.newBucket); + var error = $root.google.cloud.hypercomputecluster.v1.NewBucketConfig.verify(message.newBucket, long + 1); if (error) return "newBucket." + error; } @@ -4826,7 +5055,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig.verify(message.existingBucket); + var error = $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig.verify(message.existingBucket, long + 1); if (error) return "existingBucket." + error; } @@ -4836,7 +5065,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewLustreConfig.verify(message.newLustre); + var error = $root.google.cloud.hypercomputecluster.v1.NewLustreConfig.verify(message.newLustre, long + 1); if (error) return "newLustre." + error; } @@ -4846,7 +5075,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig.verify(message.existingLustre); + var error = $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig.verify(message.existingLustre, long + 1); if (error) return "existingLustre." + error; } @@ -4862,39 +5091,43 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.StorageResourceConfig} StorageResourceConfig */ - StorageResourceConfig.fromObject = function fromObject(object) { + StorageResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.StorageResourceConfig(); if (object.newFilestore != null) { if (typeof object.newFilestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResourceConfig.newFilestore: object expected"); - message.newFilestore = $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig.fromObject(object.newFilestore); + message.newFilestore = $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig.fromObject(object.newFilestore, long + 1); } if (object.existingFilestore != null) { if (typeof object.existingFilestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResourceConfig.existingFilestore: object expected"); - message.existingFilestore = $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig.fromObject(object.existingFilestore); + message.existingFilestore = $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig.fromObject(object.existingFilestore, long + 1); } if (object.newBucket != null) { if (typeof object.newBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResourceConfig.newBucket: object expected"); - message.newBucket = $root.google.cloud.hypercomputecluster.v1.NewBucketConfig.fromObject(object.newBucket); + message.newBucket = $root.google.cloud.hypercomputecluster.v1.NewBucketConfig.fromObject(object.newBucket, long + 1); } if (object.existingBucket != null) { if (typeof object.existingBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResourceConfig.existingBucket: object expected"); - message.existingBucket = $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig.fromObject(object.existingBucket); + message.existingBucket = $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig.fromObject(object.existingBucket, long + 1); } if (object.newLustre != null) { if (typeof object.newLustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResourceConfig.newLustre: object expected"); - message.newLustre = $root.google.cloud.hypercomputecluster.v1.NewLustreConfig.fromObject(object.newLustre); + message.newLustre = $root.google.cloud.hypercomputecluster.v1.NewLustreConfig.fromObject(object.newLustre, long + 1); } if (object.existingLustre != null) { if (typeof object.existingLustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.StorageResourceConfig.existingLustre: object expected"); - message.existingLustre = $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig.fromObject(object.existingLustre); + message.existingLustre = $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig.fromObject(object.existingLustre, long + 1); } return message; }; @@ -4999,7 +5232,7 @@ this.fileShares = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5105,9 +5338,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewFilestoreConfig.decode = function decode(reader, length, error) { + NewFilestoreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5125,7 +5362,7 @@ case 2: { if (!(message.fileShares && message.fileShares.length)) message.fileShares = []; - message.fileShares.push($root.google.cloud.hypercomputecluster.v1.FileShareConfig.decode(reader, reader.uint32())); + message.fileShares.push($root.google.cloud.hypercomputecluster.v1.FileShareConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -5137,7 +5374,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5168,9 +5405,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewFilestoreConfig.verify = function verify(message) { + NewFilestoreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -5181,7 +5422,7 @@ if (!Array.isArray(message.fileShares)) return "fileShares: array expected"; for (var i = 0; i < message.fileShares.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.FileShareConfig.verify(message.fileShares[i]); + var error = $root.google.cloud.hypercomputecluster.v1.FileShareConfig.verify(message.fileShares[i], long + 1); if (error) return "fileShares." + error; } @@ -5215,9 +5456,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewFilestoreConfig} NewFilestoreConfig */ - NewFilestoreConfig.fromObject = function fromObject(object) { + NewFilestoreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewFilestoreConfig(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -5230,7 +5475,7 @@ for (var i = 0; i < object.fileShares.length; ++i) { if (typeof object.fileShares[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NewFilestoreConfig.fileShares: object expected"); - message.fileShares[i] = $root.google.cloud.hypercomputecluster.v1.FileShareConfig.fromObject(object.fileShares[i]); + message.fileShares[i] = $root.google.cloud.hypercomputecluster.v1.FileShareConfig.fromObject(object.fileShares[i], long + 1); } } switch (object.tier) { @@ -5395,7 +5640,7 @@ function FileShareConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5470,9 +5715,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileShareConfig.decode = function decode(reader, length, error) { + FileShareConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.FileShareConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5488,7 +5737,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5519,9 +5768,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileShareConfig.verify = function verify(message) { + FileShareConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.capacityGb != null && message.hasOwnProperty("capacityGb")) if (!$util.isInteger(message.capacityGb) && !(message.capacityGb && $util.isInteger(message.capacityGb.low) && $util.isInteger(message.capacityGb.high))) return "capacityGb: integer|Long expected"; @@ -5539,9 +5792,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.FileShareConfig} FileShareConfig */ - FileShareConfig.fromObject = function fromObject(object) { + FileShareConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.FileShareConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.FileShareConfig(); if (object.capacityGb != null) if ($util.Long) @@ -5637,7 +5894,7 @@ function ExistingFilestoreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5702,9 +5959,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingFilestoreConfig.decode = function decode(reader, length, error) { + ExistingFilestoreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5716,7 +5977,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5747,9 +6008,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingFilestoreConfig.verify = function verify(message) { + ExistingFilestoreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -5764,9 +6029,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig} ExistingFilestoreConfig */ - ExistingFilestoreConfig.fromObject = function fromObject(object) { + ExistingFilestoreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ExistingFilestoreConfig(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -5845,7 +6114,7 @@ function NewBucketConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5954,9 +6223,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewBucketConfig.decode = function decode(reader, length, error) { + NewBucketConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewBucketConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5964,7 +6237,7 @@ break; switch (tag >>> 3) { case 2: { - message.autoclass = $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig.decode(reader, reader.uint32()); + message.autoclass = $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -5976,11 +6249,11 @@ break; } case 4: { - message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig.decode(reader, reader.uint32()); + message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6011,14 +6284,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewBucketConfig.verify = function verify(message) { + NewBucketConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.autoclass != null && message.hasOwnProperty("autoclass")) { properties.option = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig.verify(message.autoclass); + var error = $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig.verify(message.autoclass, long + 1); if (error) return "autoclass." + error; } @@ -6042,7 +6319,7 @@ if (!$util.isString(message.bucket)) return "bucket: string expected"; if (message.hierarchicalNamespace != null && message.hasOwnProperty("hierarchicalNamespace")) { - var error = $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig.verify(message.hierarchicalNamespace); + var error = $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig.verify(message.hierarchicalNamespace, long + 1); if (error) return "hierarchicalNamespace." + error; } @@ -6057,14 +6334,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewBucketConfig} NewBucketConfig */ - NewBucketConfig.fromObject = function fromObject(object) { + NewBucketConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewBucketConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewBucketConfig(); if (object.autoclass != null) { if (typeof object.autoclass !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NewBucketConfig.autoclass: object expected"); - message.autoclass = $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig.fromObject(object.autoclass); + message.autoclass = $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig.fromObject(object.autoclass, long + 1); } switch (object.storageClass) { default: @@ -6099,7 +6380,7 @@ if (object.hierarchicalNamespace != null) { if (typeof object.hierarchicalNamespace !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NewBucketConfig.hierarchicalNamespace: object expected"); - message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig.fromObject(object.hierarchicalNamespace); + message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig.fromObject(object.hierarchicalNamespace, long + 1); } return message; }; @@ -6208,7 +6489,7 @@ function GcsAutoclassConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6283,9 +6564,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsAutoclassConfig.decode = function decode(reader, length, error) { + GcsAutoclassConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6301,7 +6586,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6332,9 +6617,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsAutoclassConfig.verify = function verify(message) { + GcsAutoclassConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.enabled != null && message.hasOwnProperty("enabled")) if (typeof message.enabled !== "boolean") return "enabled: boolean expected"; @@ -6356,9 +6645,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.GcsAutoclassConfig} GcsAutoclassConfig */ - GcsAutoclassConfig.fromObject = function fromObject(object) { + GcsAutoclassConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.GcsAutoclassConfig(); if (object.enabled != null) message.enabled = Boolean(object.enabled); @@ -6462,7 +6755,7 @@ function GcsHierarchicalNamespaceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6527,9 +6820,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsHierarchicalNamespaceConfig.decode = function decode(reader, length, error) { + GcsHierarchicalNamespaceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6541,7 +6838,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6572,9 +6869,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsHierarchicalNamespaceConfig.verify = function verify(message) { + GcsHierarchicalNamespaceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.enabled != null && message.hasOwnProperty("enabled")) if (typeof message.enabled !== "boolean") return "enabled: boolean expected"; @@ -6589,9 +6890,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig} GcsHierarchicalNamespaceConfig */ - GcsHierarchicalNamespaceConfig.fromObject = function fromObject(object) { + GcsHierarchicalNamespaceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.GcsHierarchicalNamespaceConfig(); if (object.enabled != null) message.enabled = Boolean(object.enabled); @@ -6667,7 +6972,7 @@ function ExistingBucketConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6732,9 +7037,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingBucketConfig.decode = function decode(reader, length, error) { + ExistingBucketConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6746,7 +7055,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6777,9 +7086,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingBucketConfig.verify = function verify(message) { + ExistingBucketConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -6794,9 +7107,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ExistingBucketConfig} ExistingBucketConfig */ - ExistingBucketConfig.fromObject = function fromObject(object) { + ExistingBucketConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ExistingBucketConfig(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -6875,7 +7192,7 @@ function NewLustreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6970,9 +7287,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewLustreConfig.decode = function decode(reader, length, error) { + NewLustreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewLustreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6996,7 +7317,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7027,9 +7348,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewLustreConfig.verify = function verify(message) { + NewLustreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -7053,9 +7378,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewLustreConfig} NewLustreConfig */ - NewLustreConfig.fromObject = function fromObject(object) { + NewLustreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewLustreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewLustreConfig(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -7161,7 +7490,7 @@ function ExistingLustreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7226,9 +7555,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingLustreConfig.decode = function decode(reader, length, error) { + ExistingLustreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7240,7 +7573,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7271,9 +7604,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingLustreConfig.verify = function verify(message) { + ExistingLustreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -7288,9 +7625,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ExistingLustreConfig} ExistingLustreConfig */ - ExistingLustreConfig.fromObject = function fromObject(object) { + ExistingLustreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ExistingLustreConfig(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -7366,7 +7707,7 @@ function ComputeResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7431,9 +7772,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeResource.decode = function decode(reader, length, error) { + ComputeResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ComputeResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7441,11 +7786,11 @@ break; switch (tag >>> 3) { case 6: { - message.config = $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7476,11 +7821,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeResource.verify = function verify(message) { + ComputeResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -7495,14 +7844,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ComputeResource} ComputeResource */ - ComputeResource.fromObject = function fromObject(object) { + ComputeResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ComputeResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ComputeResource(); if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ComputeResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -7579,7 +7932,7 @@ function ComputeResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7688,9 +8041,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeResourceConfig.decode = function decode(reader, length, error) { + ComputeResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7698,23 +8055,23 @@ break; switch (tag >>> 3) { case 1: { - message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig.decode(reader, reader.uint32()); + message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig.decode(reader, reader.uint32()); + message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig.decode(reader, reader.uint32()); + message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig.decode(reader, reader.uint32()); + message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7745,14 +8102,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeResourceConfig.verify = function verify(message) { + ComputeResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newOnDemandInstances != null && message.hasOwnProperty("newOnDemandInstances")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig.verify(message.newOnDemandInstances); + var error = $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig.verify(message.newOnDemandInstances, long + 1); if (error) return "newOnDemandInstances." + error; } @@ -7762,7 +8123,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig.verify(message.newSpotInstances); + var error = $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig.verify(message.newSpotInstances, long + 1); if (error) return "newSpotInstances." + error; } @@ -7772,7 +8133,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig.verify(message.newReservedInstances); + var error = $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig.verify(message.newReservedInstances, long + 1); if (error) return "newReservedInstances." + error; } @@ -7782,7 +8143,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig.verify(message.newFlexStartInstances); + var error = $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig.verify(message.newFlexStartInstances, long + 1); if (error) return "newFlexStartInstances." + error; } @@ -7798,29 +8159,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ComputeResourceConfig} ComputeResourceConfig */ - ComputeResourceConfig.fromObject = function fromObject(object) { + ComputeResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ComputeResourceConfig(); if (object.newOnDemandInstances != null) { if (typeof object.newOnDemandInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ComputeResourceConfig.newOnDemandInstances: object expected"); - message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig.fromObject(object.newOnDemandInstances); + message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig.fromObject(object.newOnDemandInstances, long + 1); } if (object.newSpotInstances != null) { if (typeof object.newSpotInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ComputeResourceConfig.newSpotInstances: object expected"); - message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig.fromObject(object.newSpotInstances); + message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig.fromObject(object.newSpotInstances, long + 1); } if (object.newReservedInstances != null) { if (typeof object.newReservedInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ComputeResourceConfig.newReservedInstances: object expected"); - message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig.fromObject(object.newReservedInstances); + message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig.fromObject(object.newReservedInstances, long + 1); } if (object.newFlexStartInstances != null) { if (typeof object.newFlexStartInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ComputeResourceConfig.newFlexStartInstances: object expected"); - message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig.fromObject(object.newFlexStartInstances); + message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig.fromObject(object.newFlexStartInstances, long + 1); } return message; }; @@ -7911,7 +8276,7 @@ function NewOnDemandInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7986,9 +8351,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewOnDemandInstancesConfig.decode = function decode(reader, length, error) { + NewOnDemandInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8004,7 +8373,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8035,9 +8404,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewOnDemandInstancesConfig.verify = function verify(message) { + NewOnDemandInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -8055,9 +8428,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig} NewOnDemandInstancesConfig */ - NewOnDemandInstancesConfig.fromObject = function fromObject(object) { + NewOnDemandInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewOnDemandInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -8141,7 +8518,7 @@ function NewSpotInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8226,9 +8603,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewSpotInstancesConfig.decode = function decode(reader, length, error) { + NewSpotInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8248,7 +8629,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8279,9 +8660,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewSpotInstancesConfig.verify = function verify(message) { + NewSpotInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -8308,9 +8693,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig} NewSpotInstancesConfig */ - NewSpotInstancesConfig.fromObject = function fromObject(object) { + NewSpotInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewSpotInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -8431,7 +8820,7 @@ function NewReservedInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8510,9 +8899,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewReservedInstancesConfig.decode = function decode(reader, length, error) { + NewReservedInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8524,7 +8917,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8555,9 +8948,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewReservedInstancesConfig.verify = function verify(message) { + NewReservedInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.reservation != null && message.hasOwnProperty("reservation")) { properties.source = 1; @@ -8575,9 +8972,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig} NewReservedInstancesConfig */ - NewReservedInstancesConfig.fromObject = function fromObject(object) { + NewReservedInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewReservedInstancesConfig(); if (object.reservation != null) message.reservation = String(object.reservation); @@ -8656,7 +9057,7 @@ function NewFlexStartInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8741,9 +9142,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewFlexStartInstancesConfig.decode = function decode(reader, length, error) { + NewFlexStartInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8759,11 +9164,11 @@ break; } case 3: { - message.maxDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8794,9 +9199,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewFlexStartInstancesConfig.verify = function verify(message) { + NewFlexStartInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -8804,7 +9213,7 @@ if (!$util.isString(message.machineType)) return "machineType: string expected"; if (message.maxDuration != null && message.hasOwnProperty("maxDuration")) { - var error = $root.google.protobuf.Duration.verify(message.maxDuration); + var error = $root.google.protobuf.Duration.verify(message.maxDuration, long + 1); if (error) return "maxDuration." + error; } @@ -8819,9 +9228,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig} NewFlexStartInstancesConfig */ - NewFlexStartInstancesConfig.fromObject = function fromObject(object) { + NewFlexStartInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -8830,7 +9243,7 @@ if (object.maxDuration != null) { if (typeof object.maxDuration !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.NewFlexStartInstancesConfig.maxDuration: object expected"); - message.maxDuration = $root.google.protobuf.Duration.fromObject(object.maxDuration); + message.maxDuration = $root.google.protobuf.Duration.fromObject(object.maxDuration, long + 1); } return message; }; @@ -8912,7 +9325,7 @@ function BootDisk(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8987,9 +9400,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BootDisk.decode = function decode(reader, length, error) { + BootDisk.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.BootDisk(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9005,7 +9422,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9036,9 +9453,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BootDisk.verify = function verify(message) { + BootDisk.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -9056,9 +9477,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.BootDisk} BootDisk */ - BootDisk.fromObject = function fromObject(object) { + BootDisk.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.BootDisk) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.BootDisk(); if (object.type != null) message.type = String(object.type); @@ -9154,7 +9579,7 @@ function Orchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9233,9 +9658,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Orchestrator.decode = function decode(reader, length, error) { + Orchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.Orchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9243,11 +9672,11 @@ break; switch (tag >>> 3) { case 1: { - message.slurm = $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator.decode(reader, reader.uint32()); + message.slurm = $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9278,14 +9707,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Orchestrator.verify = function verify(message) { + Orchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.slurm != null && message.hasOwnProperty("slurm")) { properties.option = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator.verify(message.slurm); + var error = $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator.verify(message.slurm, long + 1); if (error) return "slurm." + error; } @@ -9301,14 +9734,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.Orchestrator} Orchestrator */ - Orchestrator.fromObject = function fromObject(object) { + Orchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.Orchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.Orchestrator(); if (object.slurm != null) { if (typeof object.slurm !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.Orchestrator.slurm: object expected"); - message.slurm = $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator.fromObject(object.slurm); + message.slurm = $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator.fromObject(object.slurm, long + 1); } return message; }; @@ -9392,7 +9829,7 @@ this.epilogBashScripts = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9511,9 +9948,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmOrchestrator.decode = function decode(reader, length, error) { + SlurmOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9521,19 +9962,19 @@ break; switch (tag >>> 3) { case 6: { - message.loginNodes = $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes.decode(reader, reader.uint32()); + message.loginNodes = $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { if (!(message.nodeSets && message.nodeSets.length)) message.nodeSets = []; - message.nodeSets.push($root.google.cloud.hypercomputecluster.v1.SlurmNodeSet.decode(reader, reader.uint32())); + message.nodeSets.push($root.google.cloud.hypercomputecluster.v1.SlurmNodeSet.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.partitions && message.partitions.length)) message.partitions = []; - message.partitions.push($root.google.cloud.hypercomputecluster.v1.SlurmPartition.decode(reader, reader.uint32())); + message.partitions.push($root.google.cloud.hypercomputecluster.v1.SlurmPartition.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -9553,7 +9994,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9584,11 +10025,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmOrchestrator.verify = function verify(message) { + SlurmOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.loginNodes != null && message.hasOwnProperty("loginNodes")) { - var error = $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes.verify(message.loginNodes); + var error = $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes.verify(message.loginNodes, long + 1); if (error) return "loginNodes." + error; } @@ -9596,7 +10041,7 @@ if (!Array.isArray(message.nodeSets)) return "nodeSets: array expected"; for (var i = 0; i < message.nodeSets.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.SlurmNodeSet.verify(message.nodeSets[i]); + var error = $root.google.cloud.hypercomputecluster.v1.SlurmNodeSet.verify(message.nodeSets[i], long + 1); if (error) return "nodeSets." + error; } @@ -9605,7 +10050,7 @@ if (!Array.isArray(message.partitions)) return "partitions: array expected"; for (var i = 0; i < message.partitions.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.SlurmPartition.verify(message.partitions[i]); + var error = $root.google.cloud.hypercomputecluster.v1.SlurmPartition.verify(message.partitions[i], long + 1); if (error) return "partitions." + error; } @@ -9638,14 +10083,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.SlurmOrchestrator} SlurmOrchestrator */ - SlurmOrchestrator.fromObject = function fromObject(object) { + SlurmOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.SlurmOrchestrator(); if (object.loginNodes != null) { if (typeof object.loginNodes !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmOrchestrator.loginNodes: object expected"); - message.loginNodes = $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes.fromObject(object.loginNodes); + message.loginNodes = $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes.fromObject(object.loginNodes, long + 1); } if (object.nodeSets) { if (!Array.isArray(object.nodeSets)) @@ -9654,7 +10103,7 @@ for (var i = 0; i < object.nodeSets.length; ++i) { if (typeof object.nodeSets[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmOrchestrator.nodeSets: object expected"); - message.nodeSets[i] = $root.google.cloud.hypercomputecluster.v1.SlurmNodeSet.fromObject(object.nodeSets[i]); + message.nodeSets[i] = $root.google.cloud.hypercomputecluster.v1.SlurmNodeSet.fromObject(object.nodeSets[i], long + 1); } } if (object.partitions) { @@ -9664,7 +10113,7 @@ for (var i = 0; i < object.partitions.length; ++i) { if (typeof object.partitions[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmOrchestrator.partitions: object expected"); - message.partitions[i] = $root.google.cloud.hypercomputecluster.v1.SlurmPartition.fromObject(object.partitions[i]); + message.partitions[i] = $root.google.cloud.hypercomputecluster.v1.SlurmPartition.fromObject(object.partitions[i], long + 1); } } if (object.defaultPartition != null) @@ -9791,7 +10240,7 @@ this.storageConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9921,9 +10370,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmNodeSet.decode = function decode(reader, length, error) { + SlurmNodeSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.SlurmNodeSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9931,7 +10384,7 @@ break; switch (tag >>> 3) { case 17: { - message.computeInstance = $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.decode(reader, reader.uint32()); + message.computeInstance = $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { @@ -9945,7 +10398,7 @@ case 3: { if (!(message.storageConfigs && message.storageConfigs.length)) message.storageConfigs = []; - message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1.StorageConfig.decode(reader, reader.uint32())); + message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1.StorageConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -9957,7 +10410,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9988,14 +10441,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmNodeSet.verify = function verify(message) { + SlurmNodeSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.computeInstance != null && message.hasOwnProperty("computeInstance")) { properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.verify(message.computeInstance); + var error = $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.verify(message.computeInstance, long + 1); if (error) return "computeInstance." + error; } @@ -10010,7 +10467,7 @@ if (!Array.isArray(message.storageConfigs)) return "storageConfigs: array expected"; for (var i = 0; i < message.storageConfigs.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.StorageConfig.verify(message.storageConfigs[i]); + var error = $root.google.cloud.hypercomputecluster.v1.StorageConfig.verify(message.storageConfigs[i], long + 1); if (error) return "storageConfigs." + error; } @@ -10032,14 +10489,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.SlurmNodeSet} SlurmNodeSet */ - SlurmNodeSet.fromObject = function fromObject(object) { + SlurmNodeSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.SlurmNodeSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.SlurmNodeSet(); if (object.computeInstance != null) { if (typeof object.computeInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmNodeSet.computeInstance: object expected"); - message.computeInstance = $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.fromObject(object.computeInstance); + message.computeInstance = $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.fromObject(object.computeInstance, long + 1); } if (object.id != null) message.id = String(object.id); @@ -10052,7 +10513,7 @@ for (var i = 0; i < object.storageConfigs.length; ++i) { if (typeof object.storageConfigs[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmNodeSet.storageConfigs: object expected"); - message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1.StorageConfig.fromObject(object.storageConfigs[i]); + message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1.StorageConfig.fromObject(object.storageConfigs[i], long + 1); } } if (object.staticNodeCount != null) @@ -10184,7 +10645,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10270,9 +10731,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeInstanceSlurmNodeSet.decode = function decode(reader, length, error) { + ComputeInstanceSlurmNodeSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -10299,19 +10764,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 3: { - message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.decode(reader, reader.uint32()); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10342,9 +10809,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeInstanceSlurmNodeSet.verify = function verify(message) { + ComputeInstanceSlurmNodeSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.startupScript != null && message.hasOwnProperty("startupScript")) if (!$util.isString(message.startupScript)) return "startupScript: string expected"; @@ -10357,7 +10828,7 @@ return "labels: string{k:string} expected"; } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) { - var error = $root.google.cloud.hypercomputecluster.v1.BootDisk.verify(message.bootDisk); + var error = $root.google.cloud.hypercomputecluster.v1.BootDisk.verify(message.bootDisk, long + 1); if (error) return "bootDisk." + error; } @@ -10372,9 +10843,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet} ComputeInstanceSlurmNodeSet */ - ComputeInstanceSlurmNodeSet.fromObject = function fromObject(object) { + ComputeInstanceSlurmNodeSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet(); if (object.startupScript != null) message.startupScript = String(object.startupScript); @@ -10382,13 +10857,16 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.bootDisk != null) { if (typeof object.bootDisk !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.ComputeInstanceSlurmNodeSet.bootDisk: object expected"); - message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.fromObject(object.bootDisk); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.fromObject(object.bootDisk, long + 1); } return message; }; @@ -10417,8 +10895,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) object.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.toObject(message.bootDisk, options); @@ -10476,7 +10957,7 @@ this.nodeSetIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10552,9 +11033,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmPartition.decode = function decode(reader, length, error) { + SlurmPartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.SlurmPartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10572,7 +11057,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10603,9 +11088,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmPartition.verify = function verify(message) { + SlurmPartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -10627,9 +11116,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.SlurmPartition} SlurmPartition */ - SlurmPartition.fromObject = function fromObject(object) { + SlurmPartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.SlurmPartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.SlurmPartition(); if (object.id != null) message.id = String(object.id); @@ -10731,7 +11224,7 @@ this.instances = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10889,9 +11382,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmLoginNodes.decode = function decode(reader, length, error) { + SlurmLoginNodes.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -10938,31 +11435,33 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 12: { if (!(message.storageConfigs && message.storageConfigs.length)) message.storageConfigs = []; - message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1.StorageConfig.decode(reader, reader.uint32())); + message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1.StorageConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { if (!(message.instances && message.instances.length)) message.instances = []; - message.instances.push($root.google.cloud.hypercomputecluster.v1.ComputeInstance.decode(reader, reader.uint32())); + message.instances.push($root.google.cloud.hypercomputecluster.v1.ComputeInstance.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 13: { - message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.decode(reader, reader.uint32()); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10993,9 +11492,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmLoginNodes.verify = function verify(message) { + SlurmLoginNodes.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high))) return "count: integer|Long expected"; @@ -11026,7 +11529,7 @@ if (!Array.isArray(message.storageConfigs)) return "storageConfigs: array expected"; for (var i = 0; i < message.storageConfigs.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.StorageConfig.verify(message.storageConfigs[i]); + var error = $root.google.cloud.hypercomputecluster.v1.StorageConfig.verify(message.storageConfigs[i], long + 1); if (error) return "storageConfigs." + error; } @@ -11035,13 +11538,13 @@ if (!Array.isArray(message.instances)) return "instances: array expected"; for (var i = 0; i < message.instances.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.ComputeInstance.verify(message.instances[i]); + var error = $root.google.cloud.hypercomputecluster.v1.ComputeInstance.verify(message.instances[i], long + 1); if (error) return "instances." + error; } } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) { - var error = $root.google.cloud.hypercomputecluster.v1.BootDisk.verify(message.bootDisk); + var error = $root.google.cloud.hypercomputecluster.v1.BootDisk.verify(message.bootDisk, long + 1); if (error) return "bootDisk." + error; } @@ -11056,9 +11559,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.SlurmLoginNodes} SlurmLoginNodes */ - SlurmLoginNodes.fromObject = function fromObject(object) { + SlurmLoginNodes.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.SlurmLoginNodes(); if (object.count != null) if ($util.Long) @@ -11083,8 +11590,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmLoginNodes.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.storageConfigs) { if (!Array.isArray(object.storageConfigs)) @@ -11093,7 +11603,7 @@ for (var i = 0; i < object.storageConfigs.length; ++i) { if (typeof object.storageConfigs[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmLoginNodes.storageConfigs: object expected"); - message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1.StorageConfig.fromObject(object.storageConfigs[i]); + message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1.StorageConfig.fromObject(object.storageConfigs[i], long + 1); } } if (object.instances) { @@ -11103,13 +11613,13 @@ for (var i = 0; i < object.instances.length; ++i) { if (typeof object.instances[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmLoginNodes.instances: object expected"); - message.instances[i] = $root.google.cloud.hypercomputecluster.v1.ComputeInstance.fromObject(object.instances[i]); + message.instances[i] = $root.google.cloud.hypercomputecluster.v1.ComputeInstance.fromObject(object.instances[i], long + 1); } } if (object.bootDisk != null) { if (typeof object.bootDisk !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.SlurmLoginNodes.bootDisk: object expected"); - message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.fromObject(object.bootDisk); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1.BootDisk.fromObject(object.bootDisk, long + 1); } return message; }; @@ -11164,8 +11674,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.instances && message.instances.length) { object.instances = []; @@ -11232,7 +11745,7 @@ function StorageConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11307,9 +11820,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageConfig.decode = function decode(reader, length, error) { + StorageConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.StorageConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11325,7 +11842,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11356,9 +11873,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageConfig.verify = function verify(message) { + StorageConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -11376,9 +11897,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.StorageConfig} StorageConfig */ - StorageConfig.fromObject = function fromObject(object) { + StorageConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.StorageConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.StorageConfig(); if (object.id != null) message.id = String(object.id); @@ -11460,7 +11985,7 @@ function ComputeInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11525,9 +12050,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeInstance.decode = function decode(reader, length, error) { + ComputeInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.ComputeInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11539,7 +12068,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11570,9 +12099,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeInstance.verify = function verify(message) { + ComputeInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instance != null && message.hasOwnProperty("instance")) if (!$util.isString(message.instance)) return "instance: string expected"; @@ -11587,9 +12120,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.ComputeInstance} ComputeInstance */ - ComputeInstance.fromObject = function fromObject(object) { + ComputeInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.ComputeInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.ComputeInstance(); if (object.instance != null) message.instance = String(object.instance); @@ -11671,7 +12208,7 @@ function OperationMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11796,9 +12333,13 @@ * @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, error) { + OperationMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.OperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11806,11 +12347,11 @@ break; switch (tag >>> 3) { case 1: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -11830,11 +12371,11 @@ break; } case 7: { - message.progress = $root.google.cloud.hypercomputecluster.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.cloud.hypercomputecluster.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11865,16 +12406,20 @@ * @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) { + OperationMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -11891,7 +12436,7 @@ if (!$util.isString(message.apiVersion)) return "apiVersion: string expected"; if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.cloud.hypercomputecluster.v1.OperationProgress.verify(message.progress); + var error = $root.google.cloud.hypercomputecluster.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } @@ -11906,19 +12451,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.OperationMetadata} OperationMetadata */ - OperationMetadata.fromObject = function fromObject(object) { + OperationMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.OperationMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.OperationMetadata(); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationMetadata.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.target != null) message.target = String(object.target); @@ -11931,7 +12480,7 @@ if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationMetadata.progress: object expected"); - message.progress = $root.google.cloud.hypercomputecluster.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.cloud.hypercomputecluster.v1.OperationProgress.fromObject(object.progress, long + 1); } return message; }; @@ -12025,7 +12574,7 @@ this.steps = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12091,9 +12640,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationProgress.decode = function decode(reader, length, error) { + OperationProgress.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.OperationProgress(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12103,11 +12656,11 @@ case 1: { if (!(message.steps && message.steps.length)) message.steps = []; - message.steps.push($root.google.cloud.hypercomputecluster.v1.OperationStep.decode(reader, reader.uint32())); + message.steps.push($root.google.cloud.hypercomputecluster.v1.OperationStep.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12138,14 +12691,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationProgress.verify = function verify(message) { + OperationProgress.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.steps != null && message.hasOwnProperty("steps")) { if (!Array.isArray(message.steps)) return "steps: array expected"; for (var i = 0; i < message.steps.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1.OperationStep.verify(message.steps[i]); + var error = $root.google.cloud.hypercomputecluster.v1.OperationStep.verify(message.steps[i], long + 1); if (error) return "steps." + error; } @@ -12161,9 +12718,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.OperationProgress} OperationProgress */ - OperationProgress.fromObject = function fromObject(object) { + OperationProgress.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.OperationProgress) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.OperationProgress(); if (object.steps) { if (!Array.isArray(object.steps)) @@ -12172,7 +12733,7 @@ for (var i = 0; i < object.steps.length; ++i) { if (typeof object.steps[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationProgress.steps: object expected"); - message.steps[i] = $root.google.cloud.hypercomputecluster.v1.OperationStep.fromObject(object.steps[i]); + message.steps[i] = $root.google.cloud.hypercomputecluster.v1.OperationStep.fromObject(object.steps[i], long + 1); } } return message; @@ -12273,7 +12834,7 @@ function OperationStep(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12582,9 +13143,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationStep.decode = function decode(reader, length, error) { + OperationStep.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.OperationStep(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12592,95 +13157,95 @@ break; switch (tag >>> 3) { case 2: { - message.createNetwork = $root.google.cloud.hypercomputecluster.v1.CreateNetwork.decode(reader, reader.uint32()); + message.createNetwork = $root.google.cloud.hypercomputecluster.v1.CreateNetwork.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess.decode(reader, reader.uint32()); + message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance.decode(reader, reader.uint32()); + message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket.decode(reader, reader.uint32()); + message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance.decode(reader, reader.uint32()); + message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator.decode(reader, reader.uint32()); + message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.createNodeset = $root.google.cloud.hypercomputecluster.v1.CreateNodeset.decode(reader, reader.uint32()); + message.createNodeset = $root.google.cloud.hypercomputecluster.v1.CreateNodeset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.createPartition = $root.google.cloud.hypercomputecluster.v1.CreatePartition.decode(reader, reader.uint32()); + message.createPartition = $root.google.cloud.hypercomputecluster.v1.CreatePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.createLoginNode = $root.google.cloud.hypercomputecluster.v1.CreateLoginNode.decode(reader, reader.uint32()); + message.createLoginNode = $root.google.cloud.hypercomputecluster.v1.CreateLoginNode.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth.decode(reader, reader.uint32()); + message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { - message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator.decode(reader, reader.uint32()); + message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { - message.updateNodeset = $root.google.cloud.hypercomputecluster.v1.UpdateNodeset.decode(reader, reader.uint32()); + message.updateNodeset = $root.google.cloud.hypercomputecluster.v1.UpdateNodeset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 15: { - message.updatePartition = $root.google.cloud.hypercomputecluster.v1.UpdatePartition.decode(reader, reader.uint32()); + message.updatePartition = $root.google.cloud.hypercomputecluster.v1.UpdatePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 16: { - message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode.decode(reader, reader.uint32()); + message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { - message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator.decode(reader, reader.uint32()); + message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 19: { - message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1.DeleteNodeset.decode(reader, reader.uint32()); + message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1.DeleteNodeset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 20: { - message.deletePartition = $root.google.cloud.hypercomputecluster.v1.DeletePartition.decode(reader, reader.uint32()); + message.deletePartition = $root.google.cloud.hypercomputecluster.v1.DeletePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 21: { - message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode.decode(reader, reader.uint32()); + message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance.decode(reader, reader.uint32()); + message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket.decode(reader, reader.uint32()); + message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance.decode(reader, reader.uint32()); + message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess.decode(reader, reader.uint32()); + message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1.DeleteNetwork.decode(reader, reader.uint32()); + message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1.DeleteNetwork.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { @@ -12688,7 +13253,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12719,14 +13284,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationStep.verify = function verify(message) { + OperationStep.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.createNetwork != null && message.hasOwnProperty("createNetwork")) { properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreateNetwork.verify(message.createNetwork); + var error = $root.google.cloud.hypercomputecluster.v1.CreateNetwork.verify(message.createNetwork, long + 1); if (error) return "createNetwork." + error; } @@ -12736,7 +13305,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess.verify(message.createPrivateServiceAccess); + var error = $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess.verify(message.createPrivateServiceAccess, long + 1); if (error) return "createPrivateServiceAccess." + error; } @@ -12746,7 +13315,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance.verify(message.createFilestoreInstance); + var error = $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance.verify(message.createFilestoreInstance, long + 1); if (error) return "createFilestoreInstance." + error; } @@ -12756,7 +13325,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket.verify(message.createStorageBucket); + var error = $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket.verify(message.createStorageBucket, long + 1); if (error) return "createStorageBucket." + error; } @@ -12766,7 +13335,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance.verify(message.createLustreInstance); + var error = $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance.verify(message.createLustreInstance, long + 1); if (error) return "createLustreInstance." + error; } @@ -12776,7 +13345,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator.verify(message.createOrchestrator); + var error = $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator.verify(message.createOrchestrator, long + 1); if (error) return "createOrchestrator." + error; } @@ -12786,7 +13355,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreateNodeset.verify(message.createNodeset); + var error = $root.google.cloud.hypercomputecluster.v1.CreateNodeset.verify(message.createNodeset, long + 1); if (error) return "createNodeset." + error; } @@ -12796,7 +13365,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreatePartition.verify(message.createPartition); + var error = $root.google.cloud.hypercomputecluster.v1.CreatePartition.verify(message.createPartition, long + 1); if (error) return "createPartition." + error; } @@ -12806,7 +13375,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CreateLoginNode.verify(message.createLoginNode); + var error = $root.google.cloud.hypercomputecluster.v1.CreateLoginNode.verify(message.createLoginNode, long + 1); if (error) return "createLoginNode." + error; } @@ -12816,7 +13385,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth.verify(message.checkClusterHealth); + var error = $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth.verify(message.checkClusterHealth, long + 1); if (error) return "checkClusterHealth." + error; } @@ -12826,7 +13395,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator.verify(message.updateOrchestrator); + var error = $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator.verify(message.updateOrchestrator, long + 1); if (error) return "updateOrchestrator." + error; } @@ -12836,7 +13405,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.UpdateNodeset.verify(message.updateNodeset); + var error = $root.google.cloud.hypercomputecluster.v1.UpdateNodeset.verify(message.updateNodeset, long + 1); if (error) return "updateNodeset." + error; } @@ -12846,7 +13415,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.UpdatePartition.verify(message.updatePartition); + var error = $root.google.cloud.hypercomputecluster.v1.UpdatePartition.verify(message.updatePartition, long + 1); if (error) return "updatePartition." + error; } @@ -12856,7 +13425,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode.verify(message.updateLoginNode); + var error = $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode.verify(message.updateLoginNode, long + 1); if (error) return "updateLoginNode." + error; } @@ -12866,7 +13435,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator.verify(message.deleteOrchestrator); + var error = $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator.verify(message.deleteOrchestrator, long + 1); if (error) return "deleteOrchestrator." + error; } @@ -12876,7 +13445,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeleteNodeset.verify(message.deleteNodeset); + var error = $root.google.cloud.hypercomputecluster.v1.DeleteNodeset.verify(message.deleteNodeset, long + 1); if (error) return "deleteNodeset." + error; } @@ -12886,7 +13455,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeletePartition.verify(message.deletePartition); + var error = $root.google.cloud.hypercomputecluster.v1.DeletePartition.verify(message.deletePartition, long + 1); if (error) return "deletePartition." + error; } @@ -12896,7 +13465,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode.verify(message.deleteLoginNode); + var error = $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode.verify(message.deleteLoginNode, long + 1); if (error) return "deleteLoginNode." + error; } @@ -12906,7 +13475,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance.verify(message.deleteFilestoreInstance); + var error = $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance.verify(message.deleteFilestoreInstance, long + 1); if (error) return "deleteFilestoreInstance." + error; } @@ -12916,7 +13485,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket.verify(message.deleteStorageBucket); + var error = $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket.verify(message.deleteStorageBucket, long + 1); if (error) return "deleteStorageBucket." + error; } @@ -12926,7 +13495,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance.verify(message.deleteLustreInstance); + var error = $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance.verify(message.deleteLustreInstance, long + 1); if (error) return "deleteLustreInstance." + error; } @@ -12936,7 +13505,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess.verify(message.deletePrivateServiceAccess); + var error = $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess.verify(message.deletePrivateServiceAccess, long + 1); if (error) return "deletePrivateServiceAccess." + error; } @@ -12946,7 +13515,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1.DeleteNetwork.verify(message.deleteNetwork); + var error = $root.google.cloud.hypercomputecluster.v1.DeleteNetwork.verify(message.deleteNetwork, long + 1); if (error) return "deleteNetwork." + error; } @@ -12972,124 +13541,128 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.OperationStep} OperationStep */ - OperationStep.fromObject = function fromObject(object) { + OperationStep.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.OperationStep) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.OperationStep(); if (object.createNetwork != null) { if (typeof object.createNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createNetwork: object expected"); - message.createNetwork = $root.google.cloud.hypercomputecluster.v1.CreateNetwork.fromObject(object.createNetwork); + message.createNetwork = $root.google.cloud.hypercomputecluster.v1.CreateNetwork.fromObject(object.createNetwork, long + 1); } if (object.createPrivateServiceAccess != null) { if (typeof object.createPrivateServiceAccess !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createPrivateServiceAccess: object expected"); - message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess.fromObject(object.createPrivateServiceAccess); + message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess.fromObject(object.createPrivateServiceAccess, long + 1); } if (object.createFilestoreInstance != null) { if (typeof object.createFilestoreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createFilestoreInstance: object expected"); - message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance.fromObject(object.createFilestoreInstance); + message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance.fromObject(object.createFilestoreInstance, long + 1); } if (object.createStorageBucket != null) { if (typeof object.createStorageBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createStorageBucket: object expected"); - message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket.fromObject(object.createStorageBucket); + message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket.fromObject(object.createStorageBucket, long + 1); } if (object.createLustreInstance != null) { if (typeof object.createLustreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createLustreInstance: object expected"); - message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance.fromObject(object.createLustreInstance); + message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance.fromObject(object.createLustreInstance, long + 1); } if (object.createOrchestrator != null) { if (typeof object.createOrchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createOrchestrator: object expected"); - message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator.fromObject(object.createOrchestrator); + message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator.fromObject(object.createOrchestrator, long + 1); } if (object.createNodeset != null) { if (typeof object.createNodeset !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createNodeset: object expected"); - message.createNodeset = $root.google.cloud.hypercomputecluster.v1.CreateNodeset.fromObject(object.createNodeset); + message.createNodeset = $root.google.cloud.hypercomputecluster.v1.CreateNodeset.fromObject(object.createNodeset, long + 1); } if (object.createPartition != null) { if (typeof object.createPartition !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createPartition: object expected"); - message.createPartition = $root.google.cloud.hypercomputecluster.v1.CreatePartition.fromObject(object.createPartition); + message.createPartition = $root.google.cloud.hypercomputecluster.v1.CreatePartition.fromObject(object.createPartition, long + 1); } if (object.createLoginNode != null) { if (typeof object.createLoginNode !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.createLoginNode: object expected"); - message.createLoginNode = $root.google.cloud.hypercomputecluster.v1.CreateLoginNode.fromObject(object.createLoginNode); + message.createLoginNode = $root.google.cloud.hypercomputecluster.v1.CreateLoginNode.fromObject(object.createLoginNode, long + 1); } if (object.checkClusterHealth != null) { if (typeof object.checkClusterHealth !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.checkClusterHealth: object expected"); - message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth.fromObject(object.checkClusterHealth); + message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth.fromObject(object.checkClusterHealth, long + 1); } if (object.updateOrchestrator != null) { if (typeof object.updateOrchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.updateOrchestrator: object expected"); - message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator.fromObject(object.updateOrchestrator); + message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator.fromObject(object.updateOrchestrator, long + 1); } if (object.updateNodeset != null) { if (typeof object.updateNodeset !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.updateNodeset: object expected"); - message.updateNodeset = $root.google.cloud.hypercomputecluster.v1.UpdateNodeset.fromObject(object.updateNodeset); + message.updateNodeset = $root.google.cloud.hypercomputecluster.v1.UpdateNodeset.fromObject(object.updateNodeset, long + 1); } if (object.updatePartition != null) { if (typeof object.updatePartition !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.updatePartition: object expected"); - message.updatePartition = $root.google.cloud.hypercomputecluster.v1.UpdatePartition.fromObject(object.updatePartition); + message.updatePartition = $root.google.cloud.hypercomputecluster.v1.UpdatePartition.fromObject(object.updatePartition, long + 1); } if (object.updateLoginNode != null) { if (typeof object.updateLoginNode !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.updateLoginNode: object expected"); - message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode.fromObject(object.updateLoginNode); + message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode.fromObject(object.updateLoginNode, long + 1); } if (object.deleteOrchestrator != null) { if (typeof object.deleteOrchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deleteOrchestrator: object expected"); - message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator.fromObject(object.deleteOrchestrator); + message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator.fromObject(object.deleteOrchestrator, long + 1); } if (object.deleteNodeset != null) { if (typeof object.deleteNodeset !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deleteNodeset: object expected"); - message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1.DeleteNodeset.fromObject(object.deleteNodeset); + message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1.DeleteNodeset.fromObject(object.deleteNodeset, long + 1); } if (object.deletePartition != null) { if (typeof object.deletePartition !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deletePartition: object expected"); - message.deletePartition = $root.google.cloud.hypercomputecluster.v1.DeletePartition.fromObject(object.deletePartition); + message.deletePartition = $root.google.cloud.hypercomputecluster.v1.DeletePartition.fromObject(object.deletePartition, long + 1); } if (object.deleteLoginNode != null) { if (typeof object.deleteLoginNode !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deleteLoginNode: object expected"); - message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode.fromObject(object.deleteLoginNode); + message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode.fromObject(object.deleteLoginNode, long + 1); } if (object.deleteFilestoreInstance != null) { if (typeof object.deleteFilestoreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deleteFilestoreInstance: object expected"); - message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance.fromObject(object.deleteFilestoreInstance); + message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance.fromObject(object.deleteFilestoreInstance, long + 1); } if (object.deleteStorageBucket != null) { if (typeof object.deleteStorageBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deleteStorageBucket: object expected"); - message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket.fromObject(object.deleteStorageBucket); + message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket.fromObject(object.deleteStorageBucket, long + 1); } if (object.deleteLustreInstance != null) { if (typeof object.deleteLustreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deleteLustreInstance: object expected"); - message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance.fromObject(object.deleteLustreInstance); + message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance.fromObject(object.deleteLustreInstance, long + 1); } if (object.deletePrivateServiceAccess != null) { if (typeof object.deletePrivateServiceAccess !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deletePrivateServiceAccess: object expected"); - message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess.fromObject(object.deletePrivateServiceAccess); + message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess.fromObject(object.deletePrivateServiceAccess, long + 1); } if (object.deleteNetwork != null) { if (typeof object.deleteNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1.OperationStep.deleteNetwork: object expected"); - message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1.DeleteNetwork.fromObject(object.deleteNetwork); + message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1.DeleteNetwork.fromObject(object.deleteNetwork, long + 1); } switch (object.state) { default: @@ -13320,7 +13893,7 @@ function CreateNetwork(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13385,9 +13958,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNetwork.decode = function decode(reader, length, error) { + CreateNetwork.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateNetwork(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13399,7 +13976,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13430,9 +14007,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNetwork.verify = function verify(message) { + CreateNetwork.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -13447,9 +14028,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateNetwork} CreateNetwork */ - CreateNetwork.fromObject = function fromObject(object) { + CreateNetwork.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateNetwork) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.CreateNetwork(); if (object.network != null) message.network = String(object.network); @@ -13524,7 +14109,7 @@ function CreatePrivateServiceAccess(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13579,9 +14164,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreatePrivateServiceAccess.decode = function decode(reader, length, error) { + CreatePrivateServiceAccess.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13589,7 +14178,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13620,9 +14209,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreatePrivateServiceAccess.verify = function verify(message) { + CreatePrivateServiceAccess.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -13634,9 +14227,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess} CreatePrivateServiceAccess */ - CreatePrivateServiceAccess.fromObject = function fromObject(object) { + CreatePrivateServiceAccess.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.CreatePrivateServiceAccess(); }; @@ -13702,7 +14299,7 @@ function CreateFilestoreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13767,9 +14364,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateFilestoreInstance.decode = function decode(reader, length, error) { + CreateFilestoreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13781,7 +14382,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13812,9 +14413,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateFilestoreInstance.verify = function verify(message) { + CreateFilestoreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -13829,9 +14434,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateFilestoreInstance} CreateFilestoreInstance */ - CreateFilestoreInstance.fromObject = function fromObject(object) { + CreateFilestoreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.CreateFilestoreInstance(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -13907,7 +14516,7 @@ function CreateStorageBucket(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13972,9 +14581,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateStorageBucket.decode = function decode(reader, length, error) { + CreateStorageBucket.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13986,7 +14599,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14017,9 +14630,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateStorageBucket.verify = function verify(message) { + CreateStorageBucket.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -14034,9 +14651,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateStorageBucket} CreateStorageBucket */ - CreateStorageBucket.fromObject = function fromObject(object) { + CreateStorageBucket.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.CreateStorageBucket(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -14112,7 +14733,7 @@ function CreateLustreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14177,9 +14798,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateLustreInstance.decode = function decode(reader, length, error) { + CreateLustreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14191,7 +14816,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14222,9 +14847,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateLustreInstance.verify = function verify(message) { + CreateLustreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -14239,9 +14868,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateLustreInstance} CreateLustreInstance */ - CreateLustreInstance.fromObject = function fromObject(object) { + CreateLustreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.CreateLustreInstance(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -14316,7 +14949,7 @@ function CreateOrchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14371,9 +15004,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateOrchestrator.decode = function decode(reader, length, error) { + CreateOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14381,7 +15018,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14412,9 +15049,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateOrchestrator.verify = function verify(message) { + CreateOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -14426,9 +15067,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateOrchestrator} CreateOrchestrator */ - CreateOrchestrator.fromObject = function fromObject(object) { + CreateOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.CreateOrchestrator(); }; @@ -14495,7 +15140,7 @@ this.nodesets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14561,9 +15206,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNodeset.decode = function decode(reader, length, error) { + CreateNodeset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateNodeset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14577,7 +15226,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14608,9 +15257,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNodeset.verify = function verify(message) { + CreateNodeset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodesets != null && message.hasOwnProperty("nodesets")) { if (!Array.isArray(message.nodesets)) return "nodesets: array expected"; @@ -14629,9 +15282,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateNodeset} CreateNodeset */ - CreateNodeset.fromObject = function fromObject(object) { + CreateNodeset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateNodeset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.CreateNodeset(); if (object.nodesets) { if (!Array.isArray(object.nodesets)) @@ -14716,7 +15373,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14782,9 +15439,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreatePartition.decode = function decode(reader, length, error) { + CreatePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreatePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14798,7 +15459,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14829,9 +15490,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreatePartition.verify = function verify(message) { + CreatePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitions != null && message.hasOwnProperty("partitions")) { if (!Array.isArray(message.partitions)) return "partitions: array expected"; @@ -14850,9 +15515,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreatePartition} CreatePartition */ - CreatePartition.fromObject = function fromObject(object) { + CreatePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreatePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.CreatePartition(); if (object.partitions) { if (!Array.isArray(object.partitions)) @@ -14935,7 +15604,7 @@ function CreateLoginNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14990,9 +15659,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateLoginNode.decode = function decode(reader, length, error) { + CreateLoginNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CreateLoginNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15000,7 +15673,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15031,9 +15704,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateLoginNode.verify = function verify(message) { + CreateLoginNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -15045,9 +15722,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CreateLoginNode} CreateLoginNode */ - CreateLoginNode.fromObject = function fromObject(object) { + CreateLoginNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CreateLoginNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.CreateLoginNode(); }; @@ -15112,7 +15793,7 @@ function CheckClusterHealth(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15167,9 +15848,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CheckClusterHealth.decode = function decode(reader, length, error) { + CheckClusterHealth.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15177,7 +15862,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15208,9 +15893,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CheckClusterHealth.verify = function verify(message) { + CheckClusterHealth.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -15222,9 +15911,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.CheckClusterHealth} CheckClusterHealth */ - CheckClusterHealth.fromObject = function fromObject(object) { + CheckClusterHealth.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.CheckClusterHealth(); }; @@ -15289,7 +15982,7 @@ function UpdateOrchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15344,9 +16037,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateOrchestrator.decode = function decode(reader, length, error) { + UpdateOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15354,7 +16051,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15385,9 +16082,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateOrchestrator.verify = function verify(message) { + UpdateOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -15399,9 +16100,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.UpdateOrchestrator} UpdateOrchestrator */ - UpdateOrchestrator.fromObject = function fromObject(object) { + UpdateOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.UpdateOrchestrator(); }; @@ -15468,7 +16173,7 @@ this.nodesets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15534,9 +16239,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateNodeset.decode = function decode(reader, length, error) { + UpdateNodeset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.UpdateNodeset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15550,7 +16259,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15581,9 +16290,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateNodeset.verify = function verify(message) { + UpdateNodeset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodesets != null && message.hasOwnProperty("nodesets")) { if (!Array.isArray(message.nodesets)) return "nodesets: array expected"; @@ -15602,9 +16315,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.UpdateNodeset} UpdateNodeset */ - UpdateNodeset.fromObject = function fromObject(object) { + UpdateNodeset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.UpdateNodeset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.UpdateNodeset(); if (object.nodesets) { if (!Array.isArray(object.nodesets)) @@ -15689,7 +16406,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15755,9 +16472,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdatePartition.decode = function decode(reader, length, error) { + UpdatePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.UpdatePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15771,7 +16492,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15802,9 +16523,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdatePartition.verify = function verify(message) { + UpdatePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitions != null && message.hasOwnProperty("partitions")) { if (!Array.isArray(message.partitions)) return "partitions: array expected"; @@ -15823,9 +16548,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.UpdatePartition} UpdatePartition */ - UpdatePartition.fromObject = function fromObject(object) { + UpdatePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.UpdatePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.UpdatePartition(); if (object.partitions) { if (!Array.isArray(object.partitions)) @@ -15908,7 +16637,7 @@ function UpdateLoginNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15963,9 +16692,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateLoginNode.decode = function decode(reader, length, error) { + UpdateLoginNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15973,7 +16706,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16004,9 +16737,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateLoginNode.verify = function verify(message) { + UpdateLoginNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -16018,9 +16755,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.UpdateLoginNode} UpdateLoginNode */ - UpdateLoginNode.fromObject = function fromObject(object) { + UpdateLoginNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.UpdateLoginNode(); }; @@ -16085,7 +16826,7 @@ function DeleteOrchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16140,9 +16881,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteOrchestrator.decode = function decode(reader, length, error) { + DeleteOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16150,7 +16895,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16181,9 +16926,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteOrchestrator.verify = function verify(message) { + DeleteOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -16195,9 +16944,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteOrchestrator} DeleteOrchestrator */ - DeleteOrchestrator.fromObject = function fromObject(object) { + DeleteOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.DeleteOrchestrator(); }; @@ -16264,7 +17017,7 @@ this.nodesets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16330,9 +17083,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNodeset.decode = function decode(reader, length, error) { + DeleteNodeset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteNodeset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16346,7 +17103,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16377,9 +17134,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNodeset.verify = function verify(message) { + DeleteNodeset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodesets != null && message.hasOwnProperty("nodesets")) { if (!Array.isArray(message.nodesets)) return "nodesets: array expected"; @@ -16398,9 +17159,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteNodeset} DeleteNodeset */ - DeleteNodeset.fromObject = function fromObject(object) { + DeleteNodeset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteNodeset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.DeleteNodeset(); if (object.nodesets) { if (!Array.isArray(object.nodesets)) @@ -16485,7 +17250,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16551,9 +17316,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeletePartition.decode = function decode(reader, length, error) { + DeletePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeletePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16567,7 +17336,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16598,9 +17367,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeletePartition.verify = function verify(message) { + DeletePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitions != null && message.hasOwnProperty("partitions")) { if (!Array.isArray(message.partitions)) return "partitions: array expected"; @@ -16619,9 +17392,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeletePartition} DeletePartition */ - DeletePartition.fromObject = function fromObject(object) { + DeletePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeletePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.DeletePartition(); if (object.partitions) { if (!Array.isArray(object.partitions)) @@ -16704,7 +17481,7 @@ function DeleteLoginNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16759,9 +17536,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteLoginNode.decode = function decode(reader, length, error) { + DeleteLoginNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16769,7 +17550,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16800,9 +17581,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteLoginNode.verify = function verify(message) { + DeleteLoginNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -16814,9 +17599,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteLoginNode} DeleteLoginNode */ - DeleteLoginNode.fromObject = function fromObject(object) { + DeleteLoginNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.DeleteLoginNode(); }; @@ -16882,7 +17671,7 @@ function DeleteFilestoreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16947,9 +17736,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteFilestoreInstance.decode = function decode(reader, length, error) { + DeleteFilestoreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16961,7 +17754,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16992,9 +17785,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteFilestoreInstance.verify = function verify(message) { + DeleteFilestoreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -17009,9 +17806,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance} DeleteFilestoreInstance */ - DeleteFilestoreInstance.fromObject = function fromObject(object) { + DeleteFilestoreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.DeleteFilestoreInstance(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -17087,7 +17888,7 @@ function DeleteStorageBucket(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17152,9 +17953,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteStorageBucket.decode = function decode(reader, length, error) { + DeleteStorageBucket.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17166,7 +17971,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17197,9 +18002,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteStorageBucket.verify = function verify(message) { + DeleteStorageBucket.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -17214,9 +18023,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteStorageBucket} DeleteStorageBucket */ - DeleteStorageBucket.fromObject = function fromObject(object) { + DeleteStorageBucket.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.DeleteStorageBucket(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -17292,7 +18105,7 @@ function DeleteLustreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17357,9 +18170,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteLustreInstance.decode = function decode(reader, length, error) { + DeleteLustreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17371,7 +18188,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17402,9 +18219,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteLustreInstance.verify = function verify(message) { + DeleteLustreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -17419,9 +18240,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteLustreInstance} DeleteLustreInstance */ - DeleteLustreInstance.fromObject = function fromObject(object) { + DeleteLustreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.DeleteLustreInstance(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -17496,7 +18321,7 @@ function DeletePrivateServiceAccess(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17551,9 +18376,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeletePrivateServiceAccess.decode = function decode(reader, length, error) { + DeletePrivateServiceAccess.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17561,7 +18390,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17592,9 +18421,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeletePrivateServiceAccess.verify = function verify(message) { + DeletePrivateServiceAccess.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -17606,9 +18439,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess} DeletePrivateServiceAccess */ - DeletePrivateServiceAccess.fromObject = function fromObject(object) { + DeletePrivateServiceAccess.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1.DeletePrivateServiceAccess(); }; @@ -17674,7 +18511,7 @@ function DeleteNetwork(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17739,9 +18576,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNetwork.decode = function decode(reader, length, error) { + DeleteNetwork.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1.DeleteNetwork(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17753,7 +18594,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17784,9 +18625,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNetwork.verify = function verify(message) { + DeleteNetwork.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -17801,9 +18646,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1.DeleteNetwork} DeleteNetwork */ - DeleteNetwork.fromObject = function fromObject(object) { + DeleteNetwork.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1.DeleteNetwork) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1.DeleteNetwork(); if (object.network != null) message.network = String(object.network); @@ -18172,7 +19021,7 @@ this.computeResources = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18357,9 +19206,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cluster.decode = function decode(reader, length, error) { + Cluster.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Cluster(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -18390,19 +19243,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 2: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { @@ -18422,13 +19277,15 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.networkResources, key); message.networkResources[key] = value; break; } @@ -18445,13 +19302,15 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1alpha.StorageResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1alpha.StorageResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.storageResources, key); message.storageResources[key] = value; break; } @@ -18468,30 +19327,32 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.computeResources, key); message.computeResources[key] = value; break; } case 8: { - message.orchestrator = $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator.decode(reader, reader.uint32()); + message.orchestrator = $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { - message.maintenancePolicy = $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.decode(reader, reader.uint32()); + message.maintenancePolicy = $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.compute = $root.google.cloud.hypercomputecluster.v1alpha.Compute.decode(reader, reader.uint32()); + message.compute = $root.google.cloud.hypercomputecluster.v1alpha.Compute.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18522,9 +19383,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cluster.verify = function verify(message) { + Cluster.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -18540,12 +19405,12 @@ return "labels: string{k:string} expected"; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -18557,7 +19422,7 @@ return "networkResources: object expected"; var key = Object.keys(message.networkResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource.verify(message.networkResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource.verify(message.networkResources[key[i]], long + 1); if (error) return "networkResources." + error; } @@ -18567,7 +19432,7 @@ return "storageResources: object expected"; var key = Object.keys(message.storageResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageResource.verify(message.storageResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageResource.verify(message.storageResources[key[i]], long + 1); if (error) return "storageResources." + error; } @@ -18577,23 +19442,23 @@ return "computeResources: object expected"; var key = Object.keys(message.computeResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource.verify(message.computeResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource.verify(message.computeResources[key[i]], long + 1); if (error) return "computeResources." + error; } } if (message.orchestrator != null && message.hasOwnProperty("orchestrator")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator.verify(message.orchestrator); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator.verify(message.orchestrator, long + 1); if (error) return "orchestrator." + error; } if (message.maintenancePolicy != null && message.hasOwnProperty("maintenancePolicy")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.verify(message.maintenancePolicy); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.verify(message.maintenancePolicy, long + 1); if (error) return "maintenancePolicy." + error; } if (message.compute != null && message.hasOwnProperty("compute")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Compute.verify(message.compute); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Compute.verify(message.compute, long + 1); if (error) return "compute." + error; } @@ -18608,9 +19473,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Cluster} Cluster */ - Cluster.fromObject = function fromObject(object) { + Cluster.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Cluster) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Cluster(); if (object.name != null) message.name = String(object.name); @@ -18620,18 +19489,21 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.reconciling != null) message.reconciling = Boolean(object.reconciling); @@ -18640,9 +19512,11 @@ throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.networkResources: object expected"); message.networkResources = {}; for (var keys = Object.keys(object.networkResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.networkResources, keys[i]); if (typeof object.networkResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.networkResources: object expected"); - message.networkResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource.fromObject(object.networkResources[keys[i]]); + message.networkResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource.fromObject(object.networkResources[keys[i]], long + 1); } } if (object.storageResources) { @@ -18650,9 +19524,11 @@ throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.storageResources: object expected"); message.storageResources = {}; for (var keys = Object.keys(object.storageResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.storageResources, keys[i]); if (typeof object.storageResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.storageResources: object expected"); - message.storageResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1alpha.StorageResource.fromObject(object.storageResources[keys[i]]); + message.storageResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1alpha.StorageResource.fromObject(object.storageResources[keys[i]], long + 1); } } if (object.computeResources) { @@ -18660,25 +19536,27 @@ throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.computeResources: object expected"); message.computeResources = {}; for (var keys = Object.keys(object.computeResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.computeResources, keys[i]); if (typeof object.computeResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.computeResources: object expected"); - message.computeResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource.fromObject(object.computeResources[keys[i]]); + message.computeResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource.fromObject(object.computeResources[keys[i]], long + 1); } } if (object.orchestrator != null) { if (typeof object.orchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.orchestrator: object expected"); - message.orchestrator = $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator.fromObject(object.orchestrator); + message.orchestrator = $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator.fromObject(object.orchestrator, long + 1); } if (object.maintenancePolicy != null) { if (typeof object.maintenancePolicy !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.maintenancePolicy: object expected"); - message.maintenancePolicy = $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.fromObject(object.maintenancePolicy); + message.maintenancePolicy = $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.fromObject(object.maintenancePolicy, long + 1); } if (object.compute != null) { if (typeof object.compute !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Cluster.compute: object expected"); - message.compute = $root.google.cloud.hypercomputecluster.v1alpha.Compute.fromObject(object.compute); + message.compute = $root.google.cloud.hypercomputecluster.v1alpha.Compute.fromObject(object.compute, long + 1); } return message; }; @@ -18721,8 +19599,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.compute != null && message.hasOwnProperty("compute")) object.compute = $root.google.cloud.hypercomputecluster.v1alpha.Compute.toObject(message.compute, options); @@ -18734,18 +19615,27 @@ object.reconciling = message.reconciling; if (message.networkResources && (keys2 = Object.keys(message.networkResources)).length) { object.networkResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.networkResources, keys2[j]); object.networkResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource.toObject(message.networkResources[keys2[j]], options); + } } if (message.storageResources && (keys2 = Object.keys(message.storageResources)).length) { object.storageResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.storageResources, keys2[j]); object.storageResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1alpha.StorageResource.toObject(message.storageResources[keys2[j]], options); + } } if (message.computeResources && (keys2 = Object.keys(message.computeResources)).length) { object.computeResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.computeResources, keys2[j]); object.computeResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource.toObject(message.computeResources[keys2[j]], options); + } } if (message.maintenancePolicy != null && message.hasOwnProperty("maintenancePolicy")) object.maintenancePolicy = $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.toObject(message.maintenancePolicy, options); @@ -18805,7 +19695,7 @@ function ListClustersRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18910,9 +19800,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListClustersRequest.decode = function decode(reader, length, error) { + ListClustersRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18940,7 +19834,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18971,9 +19865,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListClustersRequest.verify = function verify(message) { + ListClustersRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -19000,9 +19898,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListClustersRequest} ListClustersRequest */ - ListClustersRequest.fromObject = function fromObject(object) { + ListClustersRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -19103,7 +20005,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19190,9 +20092,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListClustersResponse.decode = function decode(reader, length, error) { + ListClustersResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListClustersResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19202,7 +20108,7 @@ case 1: { if (!(message.clusters && message.clusters.length)) message.clusters = []; - message.clusters.push($root.google.cloud.hypercomputecluster.v1alpha.Cluster.decode(reader, reader.uint32())); + message.clusters.push($root.google.cloud.hypercomputecluster.v1alpha.Cluster.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -19216,7 +20122,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19247,14 +20153,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListClustersResponse.verify = function verify(message) { + ListClustersResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.clusters != null && message.hasOwnProperty("clusters")) { if (!Array.isArray(message.clusters)) return "clusters: array expected"; for (var i = 0; i < message.clusters.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.verify(message.clusters[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.verify(message.clusters[i], long + 1); if (error) return "clusters." + error; } @@ -19280,9 +20190,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListClustersResponse} ListClustersResponse */ - ListClustersResponse.fromObject = function fromObject(object) { + ListClustersResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListClustersResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListClustersResponse(); if (object.clusters) { if (!Array.isArray(object.clusters)) @@ -19291,7 +20205,7 @@ for (var i = 0; i < object.clusters.length; ++i) { if (typeof object.clusters[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ListClustersResponse.clusters: object expected"); - message.clusters[i] = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.fromObject(object.clusters[i]); + message.clusters[i] = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.fromObject(object.clusters[i], long + 1); } } if (object.nextPageToken != null) @@ -19389,7 +20303,7 @@ function GetClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19454,9 +20368,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetClusterRequest.decode = function decode(reader, length, error) { + GetClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19468,7 +20386,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19499,9 +20417,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetClusterRequest.verify = function verify(message) { + GetClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -19516,9 +20438,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GetClusterRequest} GetClusterRequest */ - GetClusterRequest.fromObject = function fromObject(object) { + GetClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest(); if (object.name != null) message.name = String(object.name); @@ -19597,7 +20523,7 @@ function CreateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19692,9 +20618,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateClusterRequest.decode = function decode(reader, length, error) { + CreateClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19710,7 +20640,7 @@ break; } case 3: { - message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.decode(reader, reader.uint32()); + message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -19718,7 +20648,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19749,9 +20679,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateClusterRequest.verify = function verify(message) { + CreateClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -19759,7 +20693,7 @@ if (!$util.isString(message.clusterId)) return "clusterId: string expected"; if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.verify(message.cluster); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.verify(message.cluster, long + 1); if (error) return "cluster." + error; } @@ -19777,9 +20711,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest} CreateClusterRequest */ - CreateClusterRequest.fromObject = function fromObject(object) { + CreateClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -19788,7 +20726,7 @@ if (object.cluster != null) { if (typeof object.cluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.fromObject(object.cluster); + message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.fromObject(object.cluster, long + 1); } if (object.requestId != null) message.requestId = String(object.requestId); @@ -19876,7 +20814,7 @@ function UpdateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19961,9 +20899,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateClusterRequest.decode = function decode(reader, length, error) { + UpdateClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19971,11 +20913,11 @@ break; switch (tag >>> 3) { case 2: { - message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.decode(reader, reader.uint32()); + message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -19983,7 +20925,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20014,16 +20956,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateClusterRequest.verify = function verify(message) { + UpdateClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.verify(message.cluster); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.verify(message.cluster, long + 1); if (error) return "cluster." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -20041,19 +20987,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest} UpdateClusterRequest */ - UpdateClusterRequest.fromObject = function fromObject(object) { + UpdateClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest(); if (object.cluster != null) { if (typeof object.cluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.fromObject(object.cluster); + message.cluster = $root.google.cloud.hypercomputecluster.v1alpha.Cluster.fromObject(object.cluster, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.requestId != null) message.requestId = String(object.requestId); @@ -20137,7 +21087,7 @@ function DeleteClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20212,9 +21162,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteClusterRequest.decode = function decode(reader, length, error) { + DeleteClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20230,7 +21184,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20261,9 +21215,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteClusterRequest.verify = function verify(message) { + DeleteClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20281,9 +21239,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest} DeleteClusterRequest */ - DeleteClusterRequest.fromObject = function fromObject(object) { + DeleteClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest(); if (object.name != null) message.name = String(object.name); @@ -20365,7 +21327,7 @@ function GetNodeRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20430,9 +21392,13 @@ * @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, error) { + GetNodeRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20444,7 +21410,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20475,9 +21441,13 @@ * @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) { + GetNodeRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20492,9 +21462,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GetNodeRequest} GetNodeRequest */ - GetNodeRequest.fromObject = function fromObject(object) { + GetNodeRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest(); if (object.name != null) message.name = String(object.name); @@ -20574,7 +21548,7 @@ function ListNodesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20679,9 +21653,13 @@ * @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, error) { + ListNodesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20709,7 +21687,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20740,9 +21718,13 @@ * @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) { + ListNodesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -20769,9 +21751,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListNodesRequest} ListNodesRequest */ - ListNodesRequest.fromObject = function fromObject(object) { + ListNodesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -20870,7 +21856,7 @@ this.nodes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20946,9 +21932,13 @@ * @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, error) { + ListNodesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListNodesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20958,7 +21948,7 @@ case 1: { if (!(message.nodes && message.nodes.length)) message.nodes = []; - message.nodes.push($root.google.cloud.hypercomputecluster.v1alpha.Node.decode(reader, reader.uint32())); + message.nodes.push($root.google.cloud.hypercomputecluster.v1alpha.Node.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -20966,7 +21956,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20997,14 +21987,18 @@ * @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) { + ListNodesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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.hypercomputecluster.v1alpha.Node.verify(message.nodes[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Node.verify(message.nodes[i], long + 1); if (error) return "nodes." + error; } @@ -21023,9 +22017,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListNodesResponse} ListNodesResponse */ - ListNodesResponse.fromObject = function fromObject(object) { + ListNodesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListNodesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListNodesResponse(); if (object.nodes) { if (!Array.isArray(object.nodes)) @@ -21034,7 +22032,7 @@ for (var i = 0; i < object.nodes.length; ++i) { if (typeof object.nodes[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ListNodesResponse.nodes: object expected"); - message.nodes[i] = $root.google.cloud.hypercomputecluster.v1alpha.Node.fromObject(object.nodes[i]); + message.nodes[i] = $root.google.cloud.hypercomputecluster.v1alpha.Node.fromObject(object.nodes[i], long + 1); } } if (object.nextPageToken != null) @@ -21119,7 +22117,7 @@ function NetworkResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21208,9 +22206,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkResource.decode = function decode(reader, length, error) { + NetworkResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21218,15 +22220,15 @@ break; switch (tag >>> 3) { case 3: { - message.network = $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference.decode(reader, reader.uint32()); + message.network = $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.config = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21257,20 +22259,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkResource.verify = function verify(message) { + NetworkResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.network != null && message.hasOwnProperty("network")) { properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference.verify(message.network); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference.verify(message.network, long + 1); if (error) return "network." + error; } } if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -21285,19 +22291,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NetworkResource} NetworkResource */ - NetworkResource.fromObject = function fromObject(object) { + NetworkResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NetworkResource(); if (object.network != null) { if (typeof object.network !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NetworkResource.network: object expected"); - message.network = $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference.fromObject(object.network); + message.network = $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference.fromObject(object.network, long + 1); } if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NetworkResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -21377,7 +22387,7 @@ function NetworkReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21452,9 +22462,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkReference.decode = function decode(reader, length, error) { + NetworkReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21470,7 +22484,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21501,9 +22515,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkReference.verify = function verify(message) { + NetworkReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -21521,9 +22539,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NetworkReference} NetworkReference */ - NetworkReference.fromObject = function fromObject(object) { + NetworkReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NetworkReference(); if (object.network != null) message.network = String(object.network); @@ -21606,7 +22628,7 @@ function NetworkResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21695,9 +22717,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkResourceConfig.decode = function decode(reader, length, error) { + NetworkResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21705,15 +22731,15 @@ break; switch (tag >>> 3) { case 3: { - message.newNetwork = $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig.decode(reader, reader.uint32()); + message.newNetwork = $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.existingNetwork = $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig.decode(reader, reader.uint32()); + message.existingNetwork = $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21744,14 +22770,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkResourceConfig.verify = function verify(message) { + NetworkResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newNetwork != null && message.hasOwnProperty("newNetwork")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig.verify(message.newNetwork); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig.verify(message.newNetwork, long + 1); if (error) return "newNetwork." + error; } @@ -21761,7 +22791,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig.verify(message.existingNetwork); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig.verify(message.existingNetwork, long + 1); if (error) return "existingNetwork." + error; } @@ -21777,19 +22807,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig} NetworkResourceConfig */ - NetworkResourceConfig.fromObject = function fromObject(object) { + NetworkResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig(); if (object.newNetwork != null) { if (typeof object.newNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.newNetwork: object expected"); - message.newNetwork = $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig.fromObject(object.newNetwork); + message.newNetwork = $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig.fromObject(object.newNetwork, long + 1); } if (object.existingNetwork != null) { if (typeof object.existingNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NetworkResourceConfig.existingNetwork: object expected"); - message.existingNetwork = $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig.fromObject(object.existingNetwork); + message.existingNetwork = $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig.fromObject(object.existingNetwork, long + 1); } return message; }; @@ -21870,7 +22904,7 @@ function NewNetworkConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21945,9 +22979,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewNetworkConfig.decode = function decode(reader, length, error) { + NewNetworkConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21963,7 +23001,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21994,9 +23032,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewNetworkConfig.verify = function verify(message) { + NewNetworkConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -22014,9 +23056,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig} NewNetworkConfig */ - NewNetworkConfig.fromObject = function fromObject(object) { + NewNetworkConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewNetworkConfig(); if (object.network != null) message.network = String(object.network); @@ -22099,7 +23145,7 @@ function ExistingNetworkConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22174,9 +23220,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingNetworkConfig.decode = function decode(reader, length, error) { + ExistingNetworkConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22192,7 +23242,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22223,9 +23273,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingNetworkConfig.verify = function verify(message) { + ExistingNetworkConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -22243,9 +23297,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig} ExistingNetworkConfig */ - ExistingNetworkConfig.fromObject = function fromObject(object) { + ExistingNetworkConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingNetworkConfig(); if (object.network != null) message.network = String(object.network); @@ -22330,7 +23388,7 @@ function StorageResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22439,9 +23497,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageResource.decode = function decode(reader, length, error) { + StorageResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.StorageResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22449,23 +23511,23 @@ break; switch (tag >>> 3) { case 1: { - message.filestore = $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference.decode(reader, reader.uint32()); + message.filestore = $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.bucket = $root.google.cloud.hypercomputecluster.v1alpha.BucketReference.decode(reader, reader.uint32()); + message.bucket = $root.google.cloud.hypercomputecluster.v1alpha.BucketReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.lustre = $root.google.cloud.hypercomputecluster.v1alpha.LustreReference.decode(reader, reader.uint32()); + message.lustre = $root.google.cloud.hypercomputecluster.v1alpha.LustreReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.config = $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22496,14 +23558,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageResource.verify = function verify(message) { + StorageResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.filestore != null && message.hasOwnProperty("filestore")) { properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference.verify(message.filestore); + var error = $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference.verify(message.filestore, long + 1); if (error) return "filestore." + error; } @@ -22513,7 +23579,7 @@ return "reference: multiple values"; properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.BucketReference.verify(message.bucket); + var error = $root.google.cloud.hypercomputecluster.v1alpha.BucketReference.verify(message.bucket, long + 1); if (error) return "bucket." + error; } @@ -22523,13 +23589,13 @@ return "reference: multiple values"; properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.LustreReference.verify(message.lustre); + var error = $root.google.cloud.hypercomputecluster.v1alpha.LustreReference.verify(message.lustre, long + 1); if (error) return "lustre." + error; } } if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -22544,29 +23610,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.StorageResource} StorageResource */ - StorageResource.fromObject = function fromObject(object) { + StorageResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.StorageResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.StorageResource(); if (object.filestore != null) { if (typeof object.filestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResource.filestore: object expected"); - message.filestore = $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference.fromObject(object.filestore); + message.filestore = $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference.fromObject(object.filestore, long + 1); } if (object.bucket != null) { if (typeof object.bucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResource.bucket: object expected"); - message.bucket = $root.google.cloud.hypercomputecluster.v1alpha.BucketReference.fromObject(object.bucket); + message.bucket = $root.google.cloud.hypercomputecluster.v1alpha.BucketReference.fromObject(object.bucket, long + 1); } if (object.lustre != null) { if (typeof object.lustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResource.lustre: object expected"); - message.lustre = $root.google.cloud.hypercomputecluster.v1alpha.LustreReference.fromObject(object.lustre); + message.lustre = $root.google.cloud.hypercomputecluster.v1alpha.LustreReference.fromObject(object.lustre, long + 1); } if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -22655,7 +23725,7 @@ function FilestoreReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22720,9 +23790,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FilestoreReference.decode = function decode(reader, length, error) { + FilestoreReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22734,7 +23808,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22765,9 +23839,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FilestoreReference.verify = function verify(message) { + FilestoreReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -22782,9 +23860,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.FilestoreReference} FilestoreReference */ - FilestoreReference.fromObject = function fromObject(object) { + FilestoreReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.FilestoreReference(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -22860,7 +23942,7 @@ function BucketReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22925,9 +24007,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BucketReference.decode = function decode(reader, length, error) { + BucketReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.BucketReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22939,7 +24025,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22970,9 +24056,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BucketReference.verify = function verify(message) { + BucketReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -22987,9 +24077,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.BucketReference} BucketReference */ - BucketReference.fromObject = function fromObject(object) { + BucketReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.BucketReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.BucketReference(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -23065,7 +24159,7 @@ function LustreReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23130,9 +24224,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LustreReference.decode = function decode(reader, length, error) { + LustreReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.LustreReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23144,7 +24242,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23175,9 +24273,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LustreReference.verify = function verify(message) { + LustreReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -23192,9 +24294,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.LustreReference} LustreReference */ - LustreReference.fromObject = function fromObject(object) { + LustreReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.LustreReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.LustreReference(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -23275,7 +24381,7 @@ function StorageResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23404,9 +24510,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageResourceConfig.decode = function decode(reader, length, error) { + StorageResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23414,31 +24524,31 @@ break; switch (tag >>> 3) { case 1: { - message.newFilestore = $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig.decode(reader, reader.uint32()); + message.newFilestore = $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.existingFilestore = $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig.decode(reader, reader.uint32()); + message.existingFilestore = $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.newBucket = $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.decode(reader, reader.uint32()); + message.newBucket = $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.existingBucket = $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig.decode(reader, reader.uint32()); + message.existingBucket = $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.newLustre = $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig.decode(reader, reader.uint32()); + message.newLustre = $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.existingLustre = $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig.decode(reader, reader.uint32()); + message.existingLustre = $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23469,14 +24579,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageResourceConfig.verify = function verify(message) { + StorageResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newFilestore != null && message.hasOwnProperty("newFilestore")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig.verify(message.newFilestore); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig.verify(message.newFilestore, long + 1); if (error) return "newFilestore." + error; } @@ -23486,7 +24600,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig.verify(message.existingFilestore); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig.verify(message.existingFilestore, long + 1); if (error) return "existingFilestore." + error; } @@ -23496,7 +24610,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.verify(message.newBucket); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.verify(message.newBucket, long + 1); if (error) return "newBucket." + error; } @@ -23506,7 +24620,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig.verify(message.existingBucket); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig.verify(message.existingBucket, long + 1); if (error) return "existingBucket." + error; } @@ -23516,7 +24630,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig.verify(message.newLustre); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig.verify(message.newLustre, long + 1); if (error) return "newLustre." + error; } @@ -23526,7 +24640,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig.verify(message.existingLustre); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig.verify(message.existingLustre, long + 1); if (error) return "existingLustre." + error; } @@ -23542,39 +24656,43 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig} StorageResourceConfig */ - StorageResourceConfig.fromObject = function fromObject(object) { + StorageResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig(); if (object.newFilestore != null) { if (typeof object.newFilestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.newFilestore: object expected"); - message.newFilestore = $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig.fromObject(object.newFilestore); + message.newFilestore = $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig.fromObject(object.newFilestore, long + 1); } if (object.existingFilestore != null) { if (typeof object.existingFilestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.existingFilestore: object expected"); - message.existingFilestore = $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig.fromObject(object.existingFilestore); + message.existingFilestore = $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig.fromObject(object.existingFilestore, long + 1); } if (object.newBucket != null) { if (typeof object.newBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.newBucket: object expected"); - message.newBucket = $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.fromObject(object.newBucket); + message.newBucket = $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.fromObject(object.newBucket, long + 1); } if (object.existingBucket != null) { if (typeof object.existingBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.existingBucket: object expected"); - message.existingBucket = $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig.fromObject(object.existingBucket); + message.existingBucket = $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig.fromObject(object.existingBucket, long + 1); } if (object.newLustre != null) { if (typeof object.newLustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.newLustre: object expected"); - message.newLustre = $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig.fromObject(object.newLustre); + message.newLustre = $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig.fromObject(object.newLustre, long + 1); } if (object.existingLustre != null) { if (typeof object.existingLustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.StorageResourceConfig.existingLustre: object expected"); - message.existingLustre = $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig.fromObject(object.existingLustre); + message.existingLustre = $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig.fromObject(object.existingLustre, long + 1); } return message; }; @@ -23679,7 +24797,7 @@ this.fileShares = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23785,9 +24903,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewFilestoreConfig.decode = function decode(reader, length, error) { + NewFilestoreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23805,7 +24927,7 @@ case 2: { if (!(message.fileShares && message.fileShares.length)) message.fileShares = []; - message.fileShares.push($root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig.decode(reader, reader.uint32())); + message.fileShares.push($root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -23817,7 +24939,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23848,9 +24970,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewFilestoreConfig.verify = function verify(message) { + NewFilestoreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -23861,7 +24987,7 @@ if (!Array.isArray(message.fileShares)) return "fileShares: array expected"; for (var i = 0; i < message.fileShares.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig.verify(message.fileShares[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig.verify(message.fileShares[i], long + 1); if (error) return "fileShares." + error; } @@ -23895,9 +25021,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig} NewFilestoreConfig */ - NewFilestoreConfig.fromObject = function fromObject(object) { + NewFilestoreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -23910,7 +25040,7 @@ for (var i = 0; i < object.fileShares.length; ++i) { if (typeof object.fileShares[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewFilestoreConfig.fileShares: object expected"); - message.fileShares[i] = $root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig.fromObject(object.fileShares[i]); + message.fileShares[i] = $root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig.fromObject(object.fileShares[i], long + 1); } } switch (object.tier) { @@ -24075,7 +25205,7 @@ function FileShareConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24150,9 +25280,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileShareConfig.decode = function decode(reader, length, error) { + FileShareConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24168,7 +25302,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24199,9 +25333,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileShareConfig.verify = function verify(message) { + FileShareConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.capacityGb != null && message.hasOwnProperty("capacityGb")) if (!$util.isInteger(message.capacityGb) && !(message.capacityGb && $util.isInteger(message.capacityGb.low) && $util.isInteger(message.capacityGb.high))) return "capacityGb: integer|Long expected"; @@ -24219,9 +25357,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.FileShareConfig} FileShareConfig */ - FileShareConfig.fromObject = function fromObject(object) { + FileShareConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.FileShareConfig(); if (object.capacityGb != null) if ($util.Long) @@ -24317,7 +25459,7 @@ function ExistingFilestoreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24382,9 +25524,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingFilestoreConfig.decode = function decode(reader, length, error) { + ExistingFilestoreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24396,7 +25542,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24427,9 +25573,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingFilestoreConfig.verify = function verify(message) { + ExistingFilestoreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -24444,9 +25594,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig} ExistingFilestoreConfig */ - ExistingFilestoreConfig.fromObject = function fromObject(object) { + ExistingFilestoreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingFilestoreConfig(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -24525,7 +25679,7 @@ function NewBucketConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24634,9 +25788,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewBucketConfig.decode = function decode(reader, length, error) { + NewBucketConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24644,7 +25802,7 @@ break; switch (tag >>> 3) { case 2: { - message.autoclass = $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig.decode(reader, reader.uint32()); + message.autoclass = $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -24656,11 +25814,11 @@ break; } case 4: { - message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig.decode(reader, reader.uint32()); + message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24691,14 +25849,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewBucketConfig.verify = function verify(message) { + NewBucketConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.autoclass != null && message.hasOwnProperty("autoclass")) { properties.option = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig.verify(message.autoclass); + var error = $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig.verify(message.autoclass, long + 1); if (error) return "autoclass." + error; } @@ -24722,7 +25884,7 @@ if (!$util.isString(message.bucket)) return "bucket: string expected"; if (message.hierarchicalNamespace != null && message.hasOwnProperty("hierarchicalNamespace")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig.verify(message.hierarchicalNamespace); + var error = $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig.verify(message.hierarchicalNamespace, long + 1); if (error) return "hierarchicalNamespace." + error; } @@ -24737,14 +25899,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewBucketConfig} NewBucketConfig */ - NewBucketConfig.fromObject = function fromObject(object) { + NewBucketConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewBucketConfig(); if (object.autoclass != null) { if (typeof object.autoclass !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.autoclass: object expected"); - message.autoclass = $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig.fromObject(object.autoclass); + message.autoclass = $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig.fromObject(object.autoclass, long + 1); } switch (object.storageClass) { default: @@ -24779,7 +25945,7 @@ if (object.hierarchicalNamespace != null) { if (typeof object.hierarchicalNamespace !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewBucketConfig.hierarchicalNamespace: object expected"); - message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig.fromObject(object.hierarchicalNamespace); + message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig.fromObject(object.hierarchicalNamespace, long + 1); } return message; }; @@ -24888,7 +26054,7 @@ function GcsAutoclassConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24963,9 +26129,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsAutoclassConfig.decode = function decode(reader, length, error) { + GcsAutoclassConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24981,7 +26151,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25012,9 +26182,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsAutoclassConfig.verify = function verify(message) { + GcsAutoclassConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.enabled != null && message.hasOwnProperty("enabled")) if (typeof message.enabled !== "boolean") return "enabled: boolean expected"; @@ -25038,9 +26212,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig} GcsAutoclassConfig */ - GcsAutoclassConfig.fromObject = function fromObject(object) { + GcsAutoclassConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GcsAutoclassConfig(); if (object.enabled != null) message.enabled = Boolean(object.enabled); @@ -25156,7 +26334,7 @@ function GcsHierarchicalNamespaceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25221,9 +26399,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsHierarchicalNamespaceConfig.decode = function decode(reader, length, error) { + GcsHierarchicalNamespaceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25235,7 +26417,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25266,9 +26448,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsHierarchicalNamespaceConfig.verify = function verify(message) { + GcsHierarchicalNamespaceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.enabled != null && message.hasOwnProperty("enabled")) if (typeof message.enabled !== "boolean") return "enabled: boolean expected"; @@ -25283,9 +26469,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig} GcsHierarchicalNamespaceConfig */ - GcsHierarchicalNamespaceConfig.fromObject = function fromObject(object) { + GcsHierarchicalNamespaceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GcsHierarchicalNamespaceConfig(); if (object.enabled != null) message.enabled = Boolean(object.enabled); @@ -25361,7 +26551,7 @@ function ExistingBucketConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25426,9 +26616,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingBucketConfig.decode = function decode(reader, length, error) { + ExistingBucketConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25440,7 +26634,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25471,9 +26665,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingBucketConfig.verify = function verify(message) { + ExistingBucketConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -25488,9 +26686,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig} ExistingBucketConfig */ - ExistingBucketConfig.fromObject = function fromObject(object) { + ExistingBucketConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingBucketConfig(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -25570,7 +26772,7 @@ function NewLustreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25675,9 +26877,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewLustreConfig.decode = function decode(reader, length, error) { + NewLustreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25705,7 +26911,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25736,9 +26942,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewLustreConfig.verify = function verify(message) { + NewLustreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -25765,9 +26975,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewLustreConfig} NewLustreConfig */ - NewLustreConfig.fromObject = function fromObject(object) { + NewLustreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewLustreConfig(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -25892,7 +27106,7 @@ function ExistingLustreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25957,9 +27171,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingLustreConfig.decode = function decode(reader, length, error) { + ExistingLustreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25971,7 +27189,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26002,9 +27220,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingLustreConfig.verify = function verify(message) { + ExistingLustreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -26019,9 +27241,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig} ExistingLustreConfig */ - ExistingLustreConfig.fromObject = function fromObject(object) { + ExistingLustreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ExistingLustreConfig(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -26097,7 +27323,7 @@ function ComputeResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26162,9 +27388,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeResource.decode = function decode(reader, length, error) { + ComputeResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26172,11 +27402,11 @@ break; switch (tag >>> 3) { case 6: { - message.config = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26207,11 +27437,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeResource.verify = function verify(message) { + ComputeResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -26226,14 +27460,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ComputeResource} ComputeResource */ - ComputeResource.fromObject = function fromObject(object) { + ComputeResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeResource(); if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -26310,7 +27548,7 @@ function ComputeResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26419,9 +27657,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeResourceConfig.decode = function decode(reader, length, error) { + ComputeResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26429,23 +27671,23 @@ break; switch (tag >>> 3) { case 1: { - message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig.decode(reader, reader.uint32()); + message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.decode(reader, reader.uint32()); + message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig.decode(reader, reader.uint32()); + message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.decode(reader, reader.uint32()); + message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26476,14 +27718,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeResourceConfig.verify = function verify(message) { + ComputeResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newOnDemandInstances != null && message.hasOwnProperty("newOnDemandInstances")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig.verify(message.newOnDemandInstances); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig.verify(message.newOnDemandInstances, long + 1); if (error) return "newOnDemandInstances." + error; } @@ -26493,7 +27739,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.verify(message.newSpotInstances); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.verify(message.newSpotInstances, long + 1); if (error) return "newSpotInstances." + error; } @@ -26503,7 +27749,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig.verify(message.newReservedInstances); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig.verify(message.newReservedInstances, long + 1); if (error) return "newReservedInstances." + error; } @@ -26513,7 +27759,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.verify(message.newFlexStartInstances); + var error = $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.verify(message.newFlexStartInstances, long + 1); if (error) return "newFlexStartInstances." + error; } @@ -26529,29 +27775,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig} ComputeResourceConfig */ - ComputeResourceConfig.fromObject = function fromObject(object) { + ComputeResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig(); if (object.newOnDemandInstances != null) { if (typeof object.newOnDemandInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.newOnDemandInstances: object expected"); - message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig.fromObject(object.newOnDemandInstances); + message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig.fromObject(object.newOnDemandInstances, long + 1); } if (object.newSpotInstances != null) { if (typeof object.newSpotInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.newSpotInstances: object expected"); - message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.fromObject(object.newSpotInstances); + message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.fromObject(object.newSpotInstances, long + 1); } if (object.newReservedInstances != null) { if (typeof object.newReservedInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.newReservedInstances: object expected"); - message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig.fromObject(object.newReservedInstances); + message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig.fromObject(object.newReservedInstances, long + 1); } if (object.newFlexStartInstances != null) { if (typeof object.newFlexStartInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeResourceConfig.newFlexStartInstances: object expected"); - message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.fromObject(object.newFlexStartInstances); + message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.fromObject(object.newFlexStartInstances, long + 1); } return message; }; @@ -26644,7 +27894,7 @@ this.atmTags = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26730,9 +27980,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewOnDemandInstancesConfig.decode = function decode(reader, length, error) { + NewOnDemandInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -26763,15 +28017,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.atmTags, key); message.atmTags[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26802,9 +28058,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewOnDemandInstancesConfig.verify = function verify(message) { + NewOnDemandInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -26830,9 +28090,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig} NewOnDemandInstancesConfig */ - NewOnDemandInstancesConfig.fromObject = function fromObject(object) { + NewOnDemandInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -26842,8 +28106,11 @@ if (typeof object.atmTags !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewOnDemandInstancesConfig.atmTags: object expected"); message.atmTags = {}; - for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.atmTags, keys[i]); message.atmTags[keys[i]] = String(object.atmTags[keys[i]]); + } } return message; }; @@ -26874,8 +28141,11 @@ var keys2; if (message.atmTags && (keys2 = Object.keys(message.atmTags)).length) { object.atmTags = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.atmTags, keys2[j]); object.atmTags[keys2[j]] = message.atmTags[keys2[j]]; + } } return object; }; @@ -26933,7 +28203,7 @@ this.atmTags = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27029,9 +28299,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewSpotInstancesConfig.decode = function decode(reader, length, error) { + NewSpotInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -27062,10 +28336,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.atmTags, key); message.atmTags[key] = value; break; } @@ -27074,7 +28350,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27105,9 +28381,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewSpotInstancesConfig.verify = function verify(message) { + NewSpotInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -27142,9 +28422,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig} NewSpotInstancesConfig */ - NewSpotInstancesConfig.fromObject = function fromObject(object) { + NewSpotInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -27154,8 +28438,11 @@ if (typeof object.atmTags !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.atmTags: object expected"); message.atmTags = {}; - for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.atmTags, keys[i]); message.atmTags[keys[i]] = String(object.atmTags[keys[i]]); + } } switch (object.terminationAction) { default: @@ -27207,8 +28494,11 @@ var keys2; if (message.atmTags && (keys2 = Object.keys(message.atmTags)).length) { object.atmTags = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.atmTags, keys2[j]); object.atmTags[keys2[j]] = message.atmTags[keys2[j]]; + } } if (message.terminationAction != null && message.hasOwnProperty("terminationAction")) object.terminationAction = options.enums === String ? $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.TerminationAction[message.terminationAction] === undefined ? message.terminationAction : $root.google.cloud.hypercomputecluster.v1alpha.NewSpotInstancesConfig.TerminationAction[message.terminationAction] : message.terminationAction; @@ -27286,7 +28576,7 @@ this.atmTags = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27416,9 +28706,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewReservedInstancesConfig.decode = function decode(reader, length, error) { + NewReservedInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -27453,10 +28747,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.atmTags, key); message.atmTags[key] = value; break; } @@ -27469,7 +28765,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27500,9 +28796,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewReservedInstancesConfig.verify = function verify(message) { + NewReservedInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.reservation != null && message.hasOwnProperty("reservation")) { properties.source = 1; @@ -27548,9 +28848,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig} NewReservedInstancesConfig */ - NewReservedInstancesConfig.fromObject = function fromObject(object) { + NewReservedInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig(); if (object.reservation != null) message.reservation = String(object.reservation); @@ -27562,8 +28866,11 @@ if (typeof object.atmTags !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewReservedInstancesConfig.atmTags: object expected"); message.atmTags = {}; - for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.atmTags, keys[i]); message.atmTags[keys[i]] = String(object.atmTags[keys[i]]); + } } if (object.zone != null) message.zone = String(object.zone); @@ -27599,8 +28906,11 @@ var keys2; if (message.atmTags && (keys2 = Object.keys(message.atmTags)).length) { object.atmTags = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.atmTags, keys2[j]); object.atmTags[keys2[j]] = message.atmTags[keys2[j]]; + } } if (message.zone != null && message.hasOwnProperty("zone")) object.zone = message.zone; @@ -27672,7 +28982,7 @@ this.atmTags = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27768,9 +29078,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewFlexStartInstancesConfig.decode = function decode(reader, length, error) { + NewFlexStartInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -27786,7 +29100,7 @@ break; } case 3: { - message.maxDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -27805,15 +29119,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.atmTags, key); message.atmTags[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27844,9 +29160,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewFlexStartInstancesConfig.verify = function verify(message) { + NewFlexStartInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -27854,7 +29174,7 @@ if (!$util.isString(message.machineType)) return "machineType: string expected"; if (message.maxDuration != null && message.hasOwnProperty("maxDuration")) { - var error = $root.google.protobuf.Duration.verify(message.maxDuration); + var error = $root.google.protobuf.Duration.verify(message.maxDuration, long + 1); if (error) return "maxDuration." + error; } @@ -27877,9 +29197,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig} NewFlexStartInstancesConfig */ - NewFlexStartInstancesConfig.fromObject = function fromObject(object) { + NewFlexStartInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -27888,14 +29212,17 @@ if (object.maxDuration != null) { if (typeof object.maxDuration !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.maxDuration: object expected"); - message.maxDuration = $root.google.protobuf.Duration.fromObject(object.maxDuration); + message.maxDuration = $root.google.protobuf.Duration.fromObject(object.maxDuration, long + 1); } if (object.atmTags) { if (typeof object.atmTags !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.NewFlexStartInstancesConfig.atmTags: object expected"); message.atmTags = {}; - for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.atmTags), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.atmTags, keys[i]); message.atmTags[keys[i]] = String(object.atmTags[keys[i]]); + } } return message; }; @@ -27929,8 +29256,11 @@ var keys2; if (message.atmTags && (keys2 = Object.keys(message.atmTags)).length) { object.atmTags = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.atmTags, keys2[j]); object.atmTags[keys2[j]] = message.atmTags[keys2[j]]; + } } return object; }; @@ -27987,7 +29317,7 @@ function BootDisk(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28082,9 +29412,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BootDisk.decode = function decode(reader, length, error) { + BootDisk.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.BootDisk(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28108,7 +29442,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28139,9 +29473,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BootDisk.verify = function verify(message) { + BootDisk.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -28165,9 +29503,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.BootDisk} BootDisk */ - BootDisk.fromObject = function fromObject(object) { + BootDisk.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.BootDisk) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.BootDisk(); if (object.type != null) message.type = String(object.type); @@ -28274,7 +29616,7 @@ function AtmTag(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28349,9 +29691,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AtmTag.decode = function decode(reader, length, error) { + AtmTag.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.AtmTag(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28367,7 +29713,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28398,9 +29744,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AtmTag.verify = function verify(message) { + AtmTag.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.key != null && message.hasOwnProperty("key")) if (!$util.isString(message.key)) return "key: string expected"; @@ -28418,9 +29768,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.AtmTag} AtmTag */ - AtmTag.fromObject = function fromObject(object) { + AtmTag.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.AtmTag) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.AtmTag(); if (object.key != null) message.key = String(object.key); @@ -28502,7 +29856,7 @@ function Orchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28581,9 +29935,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Orchestrator.decode = function decode(reader, length, error) { + Orchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28591,11 +29949,11 @@ break; switch (tag >>> 3) { case 1: { - message.slurm = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.decode(reader, reader.uint32()); + message.slurm = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28626,14 +29984,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Orchestrator.verify = function verify(message) { + Orchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.slurm != null && message.hasOwnProperty("slurm")) { properties.option = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.verify(message.slurm); + var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.verify(message.slurm, long + 1); if (error) return "slurm." + error; } @@ -28649,14 +30011,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Orchestrator} Orchestrator */ - Orchestrator.fromObject = function fromObject(object) { + Orchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Orchestrator(); if (object.slurm != null) { if (typeof object.slurm !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Orchestrator.slurm: object expected"); - message.slurm = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.fromObject(object.slurm); + message.slurm = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.fromObject(object.slurm, long + 1); } return message; }; @@ -28746,7 +30112,7 @@ this.taskEpilogBashScripts = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28907,9 +30273,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmOrchestrator.decode = function decode(reader, length, error) { + SlurmOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28917,19 +30287,19 @@ break; switch (tag >>> 3) { case 6: { - message.loginNodes = $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.decode(reader, reader.uint32()); + message.loginNodes = $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { if (!(message.nodeSets && message.nodeSets.length)) message.nodeSets = []; - message.nodeSets.push($root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.decode(reader, reader.uint32())); + message.nodeSets.push($root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.partitions && message.partitions.length)) message.partitions = []; - message.partitions.push($root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition.decode(reader, reader.uint32())); + message.partitions.push($root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -28949,7 +30319,7 @@ break; } case 7: { - message.config = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -28969,7 +30339,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29000,11 +30370,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmOrchestrator.verify = function verify(message) { + SlurmOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.loginNodes != null && message.hasOwnProperty("loginNodes")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.verify(message.loginNodes); + var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.verify(message.loginNodes, long + 1); if (error) return "loginNodes." + error; } @@ -29012,7 +30386,7 @@ if (!Array.isArray(message.nodeSets)) return "nodeSets: array expected"; for (var i = 0; i < message.nodeSets.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.verify(message.nodeSets[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.verify(message.nodeSets[i], long + 1); if (error) return "nodeSets." + error; } @@ -29021,7 +30395,7 @@ if (!Array.isArray(message.partitions)) return "partitions: array expected"; for (var i = 0; i < message.partitions.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition.verify(message.partitions[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition.verify(message.partitions[i], long + 1); if (error) return "partitions." + error; } @@ -29044,7 +30418,7 @@ return "epilogBashScripts: string[] expected"; } if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -29076,14 +30450,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator} SlurmOrchestrator */ - SlurmOrchestrator.fromObject = function fromObject(object) { + SlurmOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator(); if (object.loginNodes != null) { if (typeof object.loginNodes !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.loginNodes: object expected"); - message.loginNodes = $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.fromObject(object.loginNodes); + message.loginNodes = $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.fromObject(object.loginNodes, long + 1); } if (object.nodeSets) { if (!Array.isArray(object.nodeSets)) @@ -29092,7 +30470,7 @@ for (var i = 0; i < object.nodeSets.length; ++i) { if (typeof object.nodeSets[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.nodeSets: object expected"); - message.nodeSets[i] = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.fromObject(object.nodeSets[i]); + message.nodeSets[i] = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.fromObject(object.nodeSets[i], long + 1); } } if (object.partitions) { @@ -29102,7 +30480,7 @@ for (var i = 0; i < object.partitions.length; ++i) { if (typeof object.partitions[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.partitions: object expected"); - message.partitions[i] = $root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition.fromObject(object.partitions[i]); + message.partitions[i] = $root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition.fromObject(object.partitions[i], long + 1); } } if (object.defaultPartition != null) @@ -29124,7 +30502,7 @@ if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig.fromObject(object.config, long + 1); } if (object.taskPrologBashScripts) { if (!Array.isArray(object.taskPrologBashScripts)) @@ -29282,7 +30660,7 @@ this.preemptMode = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29547,9 +30925,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmConfig.decode = function decode(reader, length, error) { + SlurmConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29590,7 +30972,7 @@ break; } case 4: { - message.prologEpilogTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.prologEpilogTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -29668,7 +31050,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29699,9 +31081,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmConfig.verify = function verify(message) { + SlurmConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.requeueExitCodes != null && message.hasOwnProperty("requeueExitCodes")) { if (!Array.isArray(message.requeueExitCodes)) return "requeueExitCodes: array expected"; @@ -29736,7 +31122,7 @@ } } if (message.prologEpilogTimeout != null && message.hasOwnProperty("prologEpilogTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.prologEpilogTimeout); + var error = $root.google.protobuf.Duration.verify(message.prologEpilogTimeout, long + 1); if (error) return "prologEpilogTimeout." + error; } @@ -29840,9 +31226,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig} SlurmConfig */ - SlurmConfig.fromObject = function fromObject(object) { + SlurmConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig(); if (object.requeueExitCodes) { if (!Array.isArray(object.requeueExitCodes)) @@ -29924,7 +31314,7 @@ if (object.prologEpilogTimeout != null) { if (typeof object.prologEpilogTimeout !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmOrchestrator.SlurmConfig.prologEpilogTimeout: object expected"); - message.prologEpilogTimeout = $root.google.protobuf.Duration.fromObject(object.prologEpilogTimeout); + message.prologEpilogTimeout = $root.google.protobuf.Duration.fromObject(object.prologEpilogTimeout, long + 1); } if (object.accountingStorageEnforceFlags) { if (!Array.isArray(object.accountingStorageEnforceFlags)) @@ -30466,7 +31856,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30657,9 +32047,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmNodeSet.decode = function decode(reader, length, error) { + SlurmNodeSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -30667,11 +32061,11 @@ break; switch (tag >>> 3) { case 17: { - message.computeInstance = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.decode(reader, reader.uint32()); + message.computeInstance = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { - message.containerNodePool = $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet.decode(reader, reader.uint32()); + message.containerNodePool = $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { @@ -30685,7 +32079,7 @@ case 3: { if (!(message.storageConfigs && message.storageConfigs.length)) message.storageConfigs = []; - message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.decode(reader, reader.uint32())); + message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -30697,7 +32091,7 @@ break; } case 13: { - message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.decode(reader, reader.uint32()); + message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { @@ -30728,15 +32122,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30767,14 +32163,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmNodeSet.verify = function verify(message) { + SlurmNodeSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.computeInstance != null && message.hasOwnProperty("computeInstance")) { properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.verify(message.computeInstance); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.verify(message.computeInstance, long + 1); if (error) return "computeInstance." + error; } @@ -30784,7 +32184,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet.verify(message.containerNodePool); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet.verify(message.containerNodePool, long + 1); if (error) return "containerNodePool." + error; } @@ -30799,7 +32199,7 @@ if (!Array.isArray(message.storageConfigs)) return "storageConfigs: array expected"; for (var i = 0; i < message.storageConfigs.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.verify(message.storageConfigs[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.verify(message.storageConfigs[i], long + 1); if (error) return "storageConfigs." + error; } @@ -30811,7 +32211,7 @@ if (!$util.isInteger(message.maxDynamicNodeCount) && !(message.maxDynamicNodeCount && $util.isInteger(message.maxDynamicNodeCount.low) && $util.isInteger(message.maxDynamicNodeCount.high))) return "maxDynamicNodeCount: integer|Long expected"; if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.verify(message.serviceAccount); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.verify(message.serviceAccount, long + 1); if (error) return "serviceAccount." + error; } @@ -30843,19 +32243,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet} SlurmNodeSet */ - SlurmNodeSet.fromObject = function fromObject(object) { + SlurmNodeSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet(); if (object.computeInstance != null) { if (typeof object.computeInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.computeInstance: object expected"); - message.computeInstance = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.fromObject(object.computeInstance); + message.computeInstance = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.fromObject(object.computeInstance, long + 1); } if (object.containerNodePool != null) { if (typeof object.containerNodePool !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.containerNodePool: object expected"); - message.containerNodePool = $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet.fromObject(object.containerNodePool); + message.containerNodePool = $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet.fromObject(object.containerNodePool, long + 1); } if (object.id != null) message.id = String(object.id); @@ -30868,7 +32272,7 @@ for (var i = 0; i < object.storageConfigs.length; ++i) { if (typeof object.storageConfigs[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.storageConfigs: object expected"); - message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.fromObject(object.storageConfigs[i]); + message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.fromObject(object.storageConfigs[i], long + 1); } } if (object.staticNodeCount != null) @@ -30892,7 +32296,7 @@ if (object.serviceAccount != null) { if (typeof object.serviceAccount !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.serviceAccount: object expected"); - message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.fromObject(object.serviceAccount); + message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.fromObject(object.serviceAccount, long + 1); } if (object.enablePublicIps != null) message.enablePublicIps = Boolean(object.enablePublicIps); @@ -30904,8 +32308,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmNodeSet.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } return message; }; @@ -30971,8 +32378,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) object.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.toObject(message.serviceAccount, options); @@ -31044,7 +32454,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31140,9 +32550,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeInstanceSlurmNodeSet.decode = function decode(reader, length, error) { + ComputeInstanceSlurmNodeSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -31169,23 +32583,25 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 3: { - message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.decode(reader, reader.uint32()); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.startupScriptTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.startupScriptTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31216,9 +32632,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeInstanceSlurmNodeSet.verify = function verify(message) { + ComputeInstanceSlurmNodeSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.startupScript != null && message.hasOwnProperty("startupScript")) if (!$util.isString(message.startupScript)) return "startupScript: string expected"; @@ -31231,12 +32651,12 @@ return "labels: string{k:string} expected"; } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.verify(message.bootDisk); + var error = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.verify(message.bootDisk, long + 1); if (error) return "bootDisk." + error; } if (message.startupScriptTimeout != null && message.hasOwnProperty("startupScriptTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.startupScriptTimeout); + var error = $root.google.protobuf.Duration.verify(message.startupScriptTimeout, long + 1); if (error) return "startupScriptTimeout." + error; } @@ -31251,9 +32671,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet} ComputeInstanceSlurmNodeSet */ - ComputeInstanceSlurmNodeSet.fromObject = function fromObject(object) { + ComputeInstanceSlurmNodeSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet(); if (object.startupScript != null) message.startupScript = String(object.startupScript); @@ -31261,18 +32685,21 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.bootDisk != null) { if (typeof object.bootDisk !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.bootDisk: object expected"); - message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.fromObject(object.bootDisk); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.fromObject(object.bootDisk, long + 1); } if (object.startupScriptTimeout != null) { if (typeof object.startupScriptTimeout !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ComputeInstanceSlurmNodeSet.startupScriptTimeout: object expected"); - message.startupScriptTimeout = $root.google.protobuf.Duration.fromObject(object.startupScriptTimeout); + message.startupScriptTimeout = $root.google.protobuf.Duration.fromObject(object.startupScriptTimeout, long + 1); } return message; }; @@ -31302,8 +32729,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) object.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.toObject(message.bootDisk, options); @@ -31363,7 +32793,7 @@ this.resourceLabels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31439,9 +32869,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContainerNodePoolSlurmNodeSet.decode = function decode(reader, length, error) { + ContainerNodePoolSlurmNodeSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -31464,10 +32898,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.resourceLabels, key); message.resourceLabels[key] = value; break; } @@ -31476,7 +32912,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31507,9 +32943,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContainerNodePoolSlurmNodeSet.verify = function verify(message) { + ContainerNodePoolSlurmNodeSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceLabels != null && message.hasOwnProperty("resourceLabels")) { if (!$util.isObject(message.resourceLabels)) return "resourceLabels: object expected"; @@ -31532,16 +32972,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet} ContainerNodePoolSlurmNodeSet */ - ContainerNodePoolSlurmNodeSet.fromObject = function fromObject(object) { + ContainerNodePoolSlurmNodeSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet(); if (object.resourceLabels) { if (typeof object.resourceLabels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ContainerNodePoolSlurmNodeSet.resourceLabels: object expected"); message.resourceLabels = {}; - for (var keys = Object.keys(object.resourceLabels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.resourceLabels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.resourceLabels, keys[i]); message.resourceLabels[keys[i]] = String(object.resourceLabels[keys[i]]); + } } if (object.startupScript != null) message.startupScript = String(object.startupScript); @@ -31568,8 +33015,11 @@ var keys2; if (message.resourceLabels && (keys2 = Object.keys(message.resourceLabels)).length) { object.resourceLabels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.resourceLabels, keys2[j]); object.resourceLabels[keys2[j]] = message.resourceLabels[keys2[j]]; + } } if (message.startupScript != null && message.hasOwnProperty("startupScript")) object.startupScript = message.startupScript; @@ -31628,7 +33078,7 @@ this.nodeSetIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31714,9 +33164,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmPartition.decode = function decode(reader, length, error) { + SlurmPartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31738,7 +33192,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31769,9 +33223,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmPartition.verify = function verify(message) { + SlurmPartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -31796,9 +33254,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.SlurmPartition} SlurmPartition */ - SlurmPartition.fromObject = function fromObject(object) { + SlurmPartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmPartition(); if (object.id != null) message.id = String(object.id); @@ -31907,7 +33369,7 @@ this.instances = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32075,9 +33537,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmLoginNodes.decode = function decode(reader, length, error) { + SlurmLoginNodes.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -32124,35 +33590,37 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 12: { if (!(message.storageConfigs && message.storageConfigs.length)) message.storageConfigs = []; - message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.decode(reader, reader.uint32())); + message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { if (!(message.instances && message.instances.length)) message.instances = []; - message.instances.push($root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance.decode(reader, reader.uint32())); + message.instances.push($root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 13: { - message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.decode(reader, reader.uint32()); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.decode(reader, reader.uint32()); + message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32183,9 +33651,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmLoginNodes.verify = function verify(message) { + SlurmLoginNodes.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high))) return "count: integer|Long expected"; @@ -32216,7 +33688,7 @@ if (!Array.isArray(message.storageConfigs)) return "storageConfigs: array expected"; for (var i = 0; i < message.storageConfigs.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.verify(message.storageConfigs[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.verify(message.storageConfigs[i], long + 1); if (error) return "storageConfigs." + error; } @@ -32225,18 +33697,18 @@ if (!Array.isArray(message.instances)) return "instances: array expected"; for (var i = 0; i < message.instances.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance.verify(message.instances[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance.verify(message.instances[i], long + 1); if (error) return "instances." + error; } } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.verify(message.bootDisk); + var error = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.verify(message.bootDisk, long + 1); if (error) return "bootDisk." + error; } if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.verify(message.serviceAccount); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.verify(message.serviceAccount, long + 1); if (error) return "serviceAccount." + error; } @@ -32251,9 +33723,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes} SlurmLoginNodes */ - SlurmLoginNodes.fromObject = function fromObject(object) { + SlurmLoginNodes.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes(); if (object.count != null) if ($util.Long) @@ -32278,8 +33754,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.storageConfigs) { if (!Array.isArray(object.storageConfigs)) @@ -32288,7 +33767,7 @@ for (var i = 0; i < object.storageConfigs.length; ++i) { if (typeof object.storageConfigs[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.storageConfigs: object expected"); - message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.fromObject(object.storageConfigs[i]); + message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig.fromObject(object.storageConfigs[i], long + 1); } } if (object.instances) { @@ -32298,18 +33777,18 @@ for (var i = 0; i < object.instances.length; ++i) { if (typeof object.instances[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.instances: object expected"); - message.instances[i] = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance.fromObject(object.instances[i]); + message.instances[i] = $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance.fromObject(object.instances[i], long + 1); } } if (object.bootDisk != null) { if (typeof object.bootDisk !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.bootDisk: object expected"); - message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.fromObject(object.bootDisk); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1alpha.BootDisk.fromObject(object.bootDisk, long + 1); } if (object.serviceAccount != null) { if (typeof object.serviceAccount !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.SlurmLoginNodes.serviceAccount: object expected"); - message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.fromObject(object.serviceAccount); + message.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.fromObject(object.serviceAccount, long + 1); } return message; }; @@ -32365,8 +33844,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) object.serviceAccount = $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount.toObject(message.serviceAccount, options); @@ -32436,7 +33918,7 @@ this.scopes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32512,9 +33994,13 @@ * @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, error) { + ServiceAccount.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32532,7 +34018,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32563,9 +34049,13 @@ * @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) { + ServiceAccount.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.email != null && message.hasOwnProperty("email")) if (!$util.isString(message.email)) return "email: string expected"; @@ -32587,9 +34077,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ServiceAccount} ServiceAccount */ - ServiceAccount.fromObject = function fromObject(object) { + ServiceAccount.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ServiceAccount(); if (object.email != null) message.email = String(object.email); @@ -32680,7 +34174,7 @@ function StorageConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32755,9 +34249,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageConfig.decode = function decode(reader, length, error) { + StorageConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32773,7 +34271,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32804,9 +34302,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageConfig.verify = function verify(message) { + StorageConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -32824,9 +34326,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.StorageConfig} StorageConfig */ - StorageConfig.fromObject = function fromObject(object) { + StorageConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.StorageConfig(); if (object.id != null) message.id = String(object.id); @@ -32908,7 +34414,7 @@ function ComputeInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32973,9 +34479,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeInstance.decode = function decode(reader, length, error) { + ComputeInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32987,7 +34497,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33018,9 +34528,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeInstance.verify = function verify(message) { + ComputeInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instance != null && message.hasOwnProperty("instance")) if (!$util.isString(message.instance)) return "instance: string expected"; @@ -33035,9 +34549,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ComputeInstance} ComputeInstance */ - ComputeInstance.fromObject = function fromObject(object) { + ComputeInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeInstance(); if (object.instance != null) message.instance = String(object.instance); @@ -33114,7 +34632,7 @@ this.windows = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33180,9 +34698,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaintenancePolicy.decode = function decode(reader, length, error) { + MaintenancePolicy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33192,11 +34714,11 @@ case 1: { if (!(message.windows && message.windows.length)) message.windows = []; - message.windows.push($root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.decode(reader, reader.uint32())); + message.windows.push($root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33227,14 +34749,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MaintenancePolicy.verify = function verify(message) { + MaintenancePolicy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.windows != null && message.hasOwnProperty("windows")) { if (!Array.isArray(message.windows)) return "windows: array expected"; for (var i = 0; i < message.windows.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.verify(message.windows[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.verify(message.windows[i], long + 1); if (error) return "windows." + error; } @@ -33250,9 +34776,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy} MaintenancePolicy */ - MaintenancePolicy.fromObject = function fromObject(object) { + MaintenancePolicy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy(); if (object.windows) { if (!Array.isArray(object.windows)) @@ -33261,7 +34791,7 @@ for (var i = 0; i < object.windows.length; ++i) { if (typeof object.windows[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MaintenancePolicy.windows: object expected"); - message.windows[i] = $root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.fromObject(object.windows[i]); + message.windows[i] = $root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.fromObject(object.windows[i], long + 1); } } return message; @@ -33341,7 +34871,7 @@ function MaintenanceWindow(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33426,9 +34956,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MaintenanceWindow.decode = function decode(reader, length, error) { + MaintenanceWindow.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33440,15 +34974,15 @@ break; } case 2: { - message.startTime = $root.google.type.TimeOfDay.decode(reader, reader.uint32()); + message.startTime = $root.google.type.TimeOfDay.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33479,9 +35013,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MaintenanceWindow.verify = function verify(message) { + MaintenanceWindow.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.day != null && message.hasOwnProperty("day")) switch (message.day) { default: @@ -33497,12 +35035,12 @@ break; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.type.TimeOfDay.verify(message.startTime); + var error = $root.google.type.TimeOfDay.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.duration != null && message.hasOwnProperty("duration")) { - var error = $root.google.protobuf.Duration.verify(message.duration); + var error = $root.google.protobuf.Duration.verify(message.duration, long + 1); if (error) return "duration." + error; } @@ -33517,9 +35055,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow} MaintenanceWindow */ - MaintenanceWindow.fromObject = function fromObject(object) { + MaintenanceWindow.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow(); switch (object.day) { default: @@ -33564,12 +35106,12 @@ if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.startTime: object expected"); - message.startTime = $root.google.type.TimeOfDay.fromObject(object.startTime); + message.startTime = $root.google.type.TimeOfDay.fromObject(object.startTime, long + 1); } if (object.duration != null) { if (typeof object.duration !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MaintenanceWindow.duration: object expected"); - message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1); } return message; }; @@ -33651,7 +35193,7 @@ this.atmTags = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33717,9 +35259,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Compute.decode = function decode(reader, length, error) { + Compute.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Compute(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33729,11 +35275,11 @@ case 2: { if (!(message.atmTags && message.atmTags.length)) message.atmTags = []; - message.atmTags.push($root.google.cloud.hypercomputecluster.v1alpha.AtmTag.decode(reader, reader.uint32())); + message.atmTags.push($root.google.cloud.hypercomputecluster.v1alpha.AtmTag.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33764,14 +35310,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Compute.verify = function verify(message) { + Compute.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.atmTags != null && message.hasOwnProperty("atmTags")) { if (!Array.isArray(message.atmTags)) return "atmTags: array expected"; for (var i = 0; i < message.atmTags.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.AtmTag.verify(message.atmTags[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.AtmTag.verify(message.atmTags[i], long + 1); if (error) return "atmTags." + error; } @@ -33787,9 +35337,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Compute} Compute */ - Compute.fromObject = function fromObject(object) { + Compute.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Compute) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Compute(); if (object.atmTags) { if (!Array.isArray(object.atmTags)) @@ -33798,7 +35352,7 @@ for (var i = 0; i < object.atmTags.length; ++i) { if (typeof object.atmTags[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Compute.atmTags: object expected"); - message.atmTags[i] = $root.google.cloud.hypercomputecluster.v1alpha.AtmTag.fromObject(object.atmTags[i]); + message.atmTags[i] = $root.google.cloud.hypercomputecluster.v1alpha.AtmTag.fromObject(object.atmTags[i], long + 1); } } return message; @@ -33886,7 +35440,7 @@ function Node(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34051,9 +35605,13 @@ * @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, error) { + Node.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Node(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34085,27 +35643,27 @@ break; } case 7: { - message.slurmDetails = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails.decode(reader, reader.uint32()); + message.slurmDetails = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.computeEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails.decode(reader, reader.uint32()); + message.computeEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.containerEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails.decode(reader, reader.uint32()); + message.containerEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34136,9 +35694,13 @@ * @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) { + Node.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -34169,27 +35731,27 @@ if (typeof message.acceptingJobs !== "boolean") return "acceptingJobs: boolean expected"; if (message.slurmDetails != null && message.hasOwnProperty("slurmDetails")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails.verify(message.slurmDetails); + var error = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails.verify(message.slurmDetails, long + 1); if (error) return "slurmDetails." + error; } if (message.computeEngineDetails != null && message.hasOwnProperty("computeEngineDetails")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails.verify(message.computeEngineDetails); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails.verify(message.computeEngineDetails, long + 1); if (error) return "computeEngineDetails." + error; } if (message.containerEngineDetails != null && message.hasOwnProperty("containerEngineDetails")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails.verify(message.containerEngineDetails); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails.verify(message.containerEngineDetails, long + 1); if (error) return "containerEngineDetails." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -34204,9 +35766,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Node} Node */ - Node.fromObject = function fromObject(object) { + Node.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Node) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Node(); if (object.name != null) message.name = String(object.name); @@ -34261,27 +35827,27 @@ if (object.slurmDetails != null) { if (typeof object.slurmDetails !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Node.slurmDetails: object expected"); - message.slurmDetails = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails.fromObject(object.slurmDetails); + message.slurmDetails = $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails.fromObject(object.slurmDetails, long + 1); } if (object.computeEngineDetails != null) { if (typeof object.computeEngineDetails !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Node.computeEngineDetails: object expected"); - message.computeEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails.fromObject(object.computeEngineDetails); + message.computeEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails.fromObject(object.computeEngineDetails, long + 1); } if (object.containerEngineDetails != null) { if (typeof object.containerEngineDetails !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Node.containerEngineDetails: object expected"); - message.containerEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails.fromObject(object.containerEngineDetails); + message.containerEngineDetails = $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails.fromObject(object.containerEngineDetails, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Node.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Node.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } return message; }; @@ -34418,7 +35984,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34525,9 +36091,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmNodeDetails.decode = function decode(reader, length, error) { + SlurmNodeDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34559,7 +36129,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34590,9 +36160,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmNodeDetails.verify = function verify(message) { + SlurmNodeDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.states != null && message.hasOwnProperty("states")) { if (!Array.isArray(message.states)) return "states: array expected"; @@ -34627,9 +36201,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails} SlurmNodeDetails */ - SlurmNodeDetails.fromObject = function fromObject(object) { + SlurmNodeDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.SlurmNodeDetails(); if (object.states) { if (!Array.isArray(object.states)) @@ -34746,7 +36324,7 @@ function ComputeEngineNodeDetails(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34831,9 +36409,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeEngineNodeDetails.decode = function decode(reader, length, error) { + ComputeEngineNodeDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34853,7 +36435,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34884,9 +36466,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeEngineNodeDetails.verify = function verify(message) { + ComputeEngineNodeDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instance != null && message.hasOwnProperty("instance")) if (!$util.isString(message.instance)) return "instance: string expected"; @@ -34907,9 +36493,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails} ComputeEngineNodeDetails */ - ComputeEngineNodeDetails.fromObject = function fromObject(object) { + ComputeEngineNodeDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ComputeEngineNodeDetails(); if (object.instance != null) message.instance = String(object.instance); @@ -34997,7 +36587,7 @@ function ContainerEngineNodeDetails(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35072,9 +36662,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContainerEngineNodeDetails.decode = function decode(reader, length, error) { + ContainerEngineNodeDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35090,7 +36684,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35121,9 +36715,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContainerEngineNodeDetails.verify = function verify(message) { + ContainerEngineNodeDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.pod != null && message.hasOwnProperty("pod")) if (!$util.isString(message.pod)) return "pod: string expected"; @@ -35141,9 +36739,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails} ContainerEngineNodeDetails */ - ContainerEngineNodeDetails.fromObject = function fromObject(object) { + ContainerEngineNodeDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ContainerEngineNodeDetails(); if (object.pod != null) message.pod = String(object.pod); @@ -35957,7 +37559,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36194,9 +37796,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MachineLearningRun.decode = function decode(reader, length, error) { + MachineLearningRun.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -36220,17 +37826,17 @@ break; } case 5: { - message.configs = $root.google.cloud.hypercomputecluster.v1alpha.Configs.decode(reader, reader.uint32()); + message.configs = $root.google.cloud.hypercomputecluster.v1alpha.Configs.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { if (!(message.tools && message.tools.length)) message.tools = []; - message.tools.push($root.google.cloud.hypercomputecluster.v1alpha.Tool.decode(reader, reader.uint32())); + message.tools.push($root.google.cloud.hypercomputecluster.v1alpha.Tool.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.metrics = $root.google.cloud.hypercomputecluster.v1alpha.Metrics.decode(reader, reader.uint32()); + message.metrics = $root.google.cloud.hypercomputecluster.v1alpha.Metrics.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -36249,10 +37855,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -36261,15 +37869,15 @@ break; } case 10: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.artifacts = $root.google.cloud.hypercomputecluster.v1alpha.Artifacts.decode(reader, reader.uint32()); + message.artifacts = $root.google.cloud.hypercomputecluster.v1alpha.Artifacts.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { @@ -36277,7 +37885,7 @@ break; } case 14: { - message.workloadDetails = $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails.decode(reader, reader.uint32()); + message.workloadDetails = $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails.decode(reader, reader.uint32(), undefined, long + 1); break; } case 15: { @@ -36289,7 +37897,7 @@ break; } case 17: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { @@ -36297,7 +37905,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36328,9 +37936,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MachineLearningRun.verify = function verify(message) { + MachineLearningRun.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -36344,7 +37956,7 @@ if (!$util.isString(message.etag)) return "etag: string expected"; if (message.configs != null && message.hasOwnProperty("configs")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Configs.verify(message.configs); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Configs.verify(message.configs, long + 1); if (error) return "configs." + error; } @@ -36352,13 +37964,13 @@ if (!Array.isArray(message.tools)) return "tools: array expected"; for (var i = 0; i < message.tools.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Tool.verify(message.tools[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Tool.verify(message.tools[i], long + 1); if (error) return "tools." + error; } } if (message.metrics != null && message.hasOwnProperty("metrics")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Metrics.verify(message.metrics); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Metrics.verify(message.metrics, long + 1); if (error) return "metrics." + error; } @@ -36381,17 +37993,17 @@ break; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } if (message.artifacts != null && message.hasOwnProperty("artifacts")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Artifacts.verify(message.artifacts); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Artifacts.verify(message.artifacts, long + 1); if (error) return "artifacts." + error; } @@ -36406,7 +38018,7 @@ break; } if (message.workloadDetails != null && message.hasOwnProperty("workloadDetails")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails.verify(message.workloadDetails); + var error = $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails.verify(message.workloadDetails, long + 1); if (error) return "workloadDetails." + error; } @@ -36424,7 +38036,7 @@ if (!$util.isString(message.errorDetails)) return "errorDetails: string expected"; if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -36442,9 +38054,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.MachineLearningRun} MachineLearningRun */ - MachineLearningRun.fromObject = function fromObject(object) { + MachineLearningRun.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(); if (object.name != null) message.name = String(object.name); @@ -36457,7 +38073,7 @@ if (object.configs != null) { if (typeof object.configs !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.configs: object expected"); - message.configs = $root.google.cloud.hypercomputecluster.v1alpha.Configs.fromObject(object.configs); + message.configs = $root.google.cloud.hypercomputecluster.v1alpha.Configs.fromObject(object.configs, long + 1); } if (object.tools) { if (!Array.isArray(object.tools)) @@ -36466,20 +38082,23 @@ for (var i = 0; i < object.tools.length; ++i) { if (typeof object.tools[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.tools: object expected"); - message.tools[i] = $root.google.cloud.hypercomputecluster.v1alpha.Tool.fromObject(object.tools[i]); + message.tools[i] = $root.google.cloud.hypercomputecluster.v1alpha.Tool.fromObject(object.tools[i], long + 1); } } if (object.metrics != null) { if (typeof object.metrics !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.metrics: object expected"); - message.metrics = $root.google.cloud.hypercomputecluster.v1alpha.Metrics.fromObject(object.metrics); + message.metrics = $root.google.cloud.hypercomputecluster.v1alpha.Metrics.fromObject(object.metrics, long + 1); } if (object.labels) { if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } switch (object.state) { default: @@ -36508,17 +38127,17 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.artifacts != null) { if (typeof object.artifacts !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.artifacts: object expected"); - message.artifacts = $root.google.cloud.hypercomputecluster.v1alpha.Artifacts.fromObject(object.artifacts); + message.artifacts = $root.google.cloud.hypercomputecluster.v1alpha.Artifacts.fromObject(object.artifacts, long + 1); } switch (object.orchestrator) { default: @@ -36547,7 +38166,7 @@ if (object.workloadDetails != null) { if (typeof object.workloadDetails !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.workloadDetails: object expected"); - message.workloadDetails = $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails.fromObject(object.workloadDetails); + message.workloadDetails = $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails.fromObject(object.workloadDetails, long + 1); } switch (object.runPhase) { default: @@ -36578,7 +38197,7 @@ if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.runGroup != null) message.runGroup = String(object.runGroup); @@ -36640,8 +38259,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.state != null && message.hasOwnProperty("state")) object.state = options.enums === String ? $root.google.cloud.hypercomputecluster.v1alpha.State[message.state] === undefined ? message.state : $root.google.cloud.hypercomputecluster.v1alpha.State[message.state] : message.state; @@ -36755,7 +38377,7 @@ function ProfilerTarget(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36860,9 +38482,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProfilerTarget.decode = function decode(reader, length, error) { + ProfilerTarget.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36890,7 +38516,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36921,9 +38547,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProfilerTarget.verify = function verify(message) { + ProfilerTarget.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -36950,9 +38580,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ProfilerTarget} ProfilerTarget */ - ProfilerTarget.fromObject = function fromObject(object) { + ProfilerTarget.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(); if (object.name != null) message.name = String(object.name); @@ -37061,7 +38695,7 @@ this.profilerTargets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -37237,9 +38871,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProfilerSession.decode = function decode(reader, length, error) { + ProfilerSession.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(); while (reader.pos < end) { var tag = reader.uint32(); @@ -37255,7 +38893,7 @@ break; } case 3: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -37267,7 +38905,7 @@ break; } case 6: { - message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -37297,7 +38935,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -37328,9 +38966,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProfilerSession.verify = function verify(message) { + ProfilerSession.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -37338,7 +38980,7 @@ if (!$util.isString(message.storageFolderUri)) return "storageFolderUri: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -37349,7 +38991,7 @@ if (typeof message.isTraceEnabled !== "boolean") return "isTraceEnabled: boolean expected"; if (message.duration != null && message.hasOwnProperty("duration")) { - var error = $root.google.protobuf.Duration.verify(message.duration); + var error = $root.google.protobuf.Duration.verify(message.duration, long + 1); if (error) return "duration." + error; } @@ -37413,9 +39055,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ProfilerSession} ProfilerSession */ - ProfilerSession.fromObject = function fromObject(object) { + ProfilerSession.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(); if (object.name != null) message.name = String(object.name); @@ -37424,7 +39070,7 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ProfilerSession.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.dashboardUri != null) message.dashboardUri = String(object.dashboardUri); @@ -37433,7 +39079,7 @@ if (object.duration != null) { if (typeof object.duration !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ProfilerSession.duration: object expected"); - message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1); } if (object.etag != null) message.etag = String(object.etag); @@ -37723,7 +39369,7 @@ this.analyzerReports = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -37849,9 +39495,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MonitoredEvent.decode = function decode(reader, length, error) { + MonitoredEvent.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(); while (reader.pos < end) { var tag = reader.uint32(); @@ -37871,17 +39521,17 @@ break; } case 3: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { if (!(message.analyzerReports && message.analyzerReports.length)) message.analyzerReports = []; - message.analyzerReports.push($root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport.decode(reader, reader.uint32())); + message.analyzerReports.push($root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -37889,7 +39539,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -37920,9 +39570,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MonitoredEvent.verify = function verify(message) { + MonitoredEvent.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -37938,12 +39592,12 @@ if (!$util.isString(message.displayName)) return "displayName: string expected"; if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -37951,7 +39605,7 @@ if (!Array.isArray(message.analyzerReports)) return "analyzerReports: array expected"; for (var i = 0; i < message.analyzerReports.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport.verify(message.analyzerReports[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport.verify(message.analyzerReports[i], long + 1); if (error) return "analyzerReports." + error; } @@ -37970,9 +39624,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.MonitoredEvent} MonitoredEvent */ - MonitoredEvent.fromObject = function fromObject(object) { + MonitoredEvent.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(); if (object.name != null) message.name = String(object.name); @@ -37997,12 +39655,12 @@ if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.analyzerReports) { if (!Array.isArray(object.analyzerReports)) @@ -38011,7 +39669,7 @@ for (var i = 0; i < object.analyzerReports.length; ++i) { if (typeof object.analyzerReports[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.analyzerReports: object expected"); - message.analyzerReports[i] = $root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport.fromObject(object.analyzerReports[i]); + message.analyzerReports[i] = $root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport.fromObject(object.analyzerReports[i], long + 1); } } if (object.analyzerInsightFound != null) @@ -38128,7 +39786,7 @@ function ProfileSession(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -38223,9 +39881,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProfileSession.decode = function decode(reader, length, error) { + ProfileSession.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ProfileSession(); while (reader.pos < end) { var tag = reader.uint32(); @@ -38241,7 +39903,7 @@ break; } case 3: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -38249,7 +39911,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -38280,9 +39942,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProfileSession.verify = function verify(message) { + ProfileSession.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -38290,7 +39956,7 @@ if (!$util.isString(message.gcsPath)) return "gcsPath: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -38308,9 +39974,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ProfileSession} ProfileSession */ - ProfileSession.fromObject = function fromObject(object) { + ProfileSession.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ProfileSession) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ProfileSession(); if (object.name != null) message.name = String(object.name); @@ -38319,7 +39989,7 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ProfileSession.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.dashboardUrl != null) message.dashboardUrl = String(object.dashboardUrl); @@ -38407,7 +40077,7 @@ function CreateMachineLearningRunRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -38492,9 +40162,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateMachineLearningRunRequest.decode = function decode(reader, length, error) { + CreateMachineLearningRunRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -38506,7 +40180,7 @@ break; } case 2: { - message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.decode(reader, reader.uint32()); + message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -38514,7 +40188,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -38545,14 +40219,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateMachineLearningRunRequest.verify = function verify(message) { + CreateMachineLearningRunRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.machineLearningRun != null && message.hasOwnProperty("machineLearningRun")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.verify(message.machineLearningRun); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.verify(message.machineLearningRun, long + 1); if (error) return "machineLearningRun." + error; } @@ -38570,16 +40248,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest} CreateMachineLearningRunRequest */ - CreateMachineLearningRunRequest.fromObject = function fromObject(object) { + CreateMachineLearningRunRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.machineLearningRun != null) { if (typeof object.machineLearningRun !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest.machineLearningRun: object expected"); - message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.fromObject(object.machineLearningRun); + message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.fromObject(object.machineLearningRun, long + 1); } if (object.machineLearningRunId != null) message.machineLearningRunId = String(object.machineLearningRunId); @@ -38662,7 +40344,7 @@ function GetMachineLearningRunRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -38727,9 +40409,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetMachineLearningRunRequest.decode = function decode(reader, length, error) { + GetMachineLearningRunRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -38741,7 +40427,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -38772,9 +40458,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetMachineLearningRunRequest.verify = function verify(message) { + GetMachineLearningRunRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -38789,9 +40479,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest} GetMachineLearningRunRequest */ - GetMachineLearningRunRequest.fromObject = function fromObject(object) { + GetMachineLearningRunRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest(); if (object.name != null) message.name = String(object.name); @@ -38871,7 +40565,7 @@ function ListMachineLearningRunsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -38976,9 +40670,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMachineLearningRunsRequest.decode = function decode(reader, length, error) { + ListMachineLearningRunsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39006,7 +40704,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39037,9 +40735,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMachineLearningRunsRequest.verify = function verify(message) { + ListMachineLearningRunsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -39066,9 +40768,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest} ListMachineLearningRunsRequest */ - ListMachineLearningRunsRequest.fromObject = function fromObject(object) { + ListMachineLearningRunsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -39167,7 +40873,7 @@ this.machineLearningRuns = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39243,9 +40949,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMachineLearningRunsResponse.decode = function decode(reader, length, error) { + ListMachineLearningRunsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39255,7 +40965,7 @@ case 1: { if (!(message.machineLearningRuns && message.machineLearningRuns.length)) message.machineLearningRuns = []; - message.machineLearningRuns.push($root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.decode(reader, reader.uint32())); + message.machineLearningRuns.push($root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -39263,7 +40973,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39294,14 +41004,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMachineLearningRunsResponse.verify = function verify(message) { + ListMachineLearningRunsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.machineLearningRuns != null && message.hasOwnProperty("machineLearningRuns")) { if (!Array.isArray(message.machineLearningRuns)) return "machineLearningRuns: array expected"; for (var i = 0; i < message.machineLearningRuns.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.verify(message.machineLearningRuns[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.verify(message.machineLearningRuns[i], long + 1); if (error) return "machineLearningRuns." + error; } @@ -39320,9 +41034,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsResponse} ListMachineLearningRunsResponse */ - ListMachineLearningRunsResponse.fromObject = function fromObject(object) { + ListMachineLearningRunsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsResponse(); if (object.machineLearningRuns) { if (!Array.isArray(object.machineLearningRuns)) @@ -39331,7 +41049,7 @@ for (var i = 0; i < object.machineLearningRuns.length; ++i) { if (typeof object.machineLearningRuns[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsResponse.machineLearningRuns: object expected"); - message.machineLearningRuns[i] = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.fromObject(object.machineLearningRuns[i]); + message.machineLearningRuns[i] = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.fromObject(object.machineLearningRuns[i], long + 1); } } if (object.nextPageToken != null) @@ -39416,7 +41134,7 @@ function UpdateMachineLearningRunRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39491,9 +41209,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateMachineLearningRunRequest.decode = function decode(reader, length, error) { + UpdateMachineLearningRunRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39501,15 +41223,15 @@ break; switch (tag >>> 3) { case 1: { - message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.decode(reader, reader.uint32()); + message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39540,16 +41262,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateMachineLearningRunRequest.verify = function verify(message) { + UpdateMachineLearningRunRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.machineLearningRun != null && message.hasOwnProperty("machineLearningRun")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.verify(message.machineLearningRun); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.verify(message.machineLearningRun, long + 1); if (error) return "machineLearningRun." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -39564,19 +41290,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest} UpdateMachineLearningRunRequest */ - UpdateMachineLearningRunRequest.fromObject = function fromObject(object) { + UpdateMachineLearningRunRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest(); if (object.machineLearningRun != null) { if (typeof object.machineLearningRun !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest.machineLearningRun: object expected"); - message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.fromObject(object.machineLearningRun); + message.machineLearningRun = $root.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun.fromObject(object.machineLearningRun, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -39655,7 +41385,7 @@ function DeleteMachineLearningRunRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39730,9 +41460,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteMachineLearningRunRequest.decode = function decode(reader, length, error) { + DeleteMachineLearningRunRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39748,7 +41482,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39779,9 +41513,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteMachineLearningRunRequest.verify = function verify(message) { + DeleteMachineLearningRunRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -39799,9 +41537,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest} DeleteMachineLearningRunRequest */ - DeleteMachineLearningRunRequest.fromObject = function fromObject(object) { + DeleteMachineLearningRunRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest(); if (object.name != null) message.name = String(object.name); @@ -39885,7 +41627,7 @@ function CreateProfilerTargetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39970,9 +41712,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProfilerTargetRequest.decode = function decode(reader, length, error) { + CreateProfilerTargetRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39984,7 +41730,7 @@ break; } case 2: { - message.profilerTarget = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.decode(reader, reader.uint32()); + message.profilerTarget = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -39992,7 +41738,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40023,14 +41769,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateProfilerTargetRequest.verify = function verify(message) { + CreateProfilerTargetRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.profilerTarget != null && message.hasOwnProperty("profilerTarget")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.verify(message.profilerTarget); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.verify(message.profilerTarget, long + 1); if (error) return "profilerTarget." + error; } @@ -40048,16 +41798,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest} CreateProfilerTargetRequest */ - CreateProfilerTargetRequest.fromObject = function fromObject(object) { + CreateProfilerTargetRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.profilerTarget != null) { if (typeof object.profilerTarget !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest.profilerTarget: object expected"); - message.profilerTarget = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.fromObject(object.profilerTarget); + message.profilerTarget = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.fromObject(object.profilerTarget, long + 1); } if (object.profilerTargetId != null) message.profilerTargetId = String(object.profilerTargetId); @@ -40140,7 +41894,7 @@ function GetProfilerTargetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40205,9 +41959,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProfilerTargetRequest.decode = function decode(reader, length, error) { + GetProfilerTargetRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40219,7 +41977,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40250,9 +42008,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProfilerTargetRequest.verify = function verify(message) { + GetProfilerTargetRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -40267,9 +42029,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest} GetProfilerTargetRequest */ - GetProfilerTargetRequest.fromObject = function fromObject(object) { + GetProfilerTargetRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest(); if (object.name != null) message.name = String(object.name); @@ -40347,7 +42113,7 @@ function ListProfilerTargetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40432,9 +42198,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProfilerTargetsRequest.decode = function decode(reader, length, error) { + ListProfilerTargetsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40454,7 +42224,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40485,9 +42255,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProfilerTargetsRequest.verify = function verify(message) { + ListProfilerTargetsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -40508,9 +42282,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest} ListProfilerTargetsRequest */ - ListProfilerTargetsRequest.fromObject = function fromObject(object) { + ListProfilerTargetsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -40599,7 +42377,7 @@ this.profilerTargets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40675,9 +42453,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProfilerTargetsResponse.decode = function decode(reader, length, error) { + ListProfilerTargetsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40687,7 +42469,7 @@ case 1: { if (!(message.profilerTargets && message.profilerTargets.length)) message.profilerTargets = []; - message.profilerTargets.push($root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.decode(reader, reader.uint32())); + message.profilerTargets.push($root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -40695,7 +42477,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40726,14 +42508,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProfilerTargetsResponse.verify = function verify(message) { + ListProfilerTargetsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.profilerTargets != null && message.hasOwnProperty("profilerTargets")) { if (!Array.isArray(message.profilerTargets)) return "profilerTargets: array expected"; for (var i = 0; i < message.profilerTargets.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.verify(message.profilerTargets[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.verify(message.profilerTargets[i], long + 1); if (error) return "profilerTargets." + error; } @@ -40752,9 +42538,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsResponse} ListProfilerTargetsResponse */ - ListProfilerTargetsResponse.fromObject = function fromObject(object) { + ListProfilerTargetsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsResponse(); if (object.profilerTargets) { if (!Array.isArray(object.profilerTargets)) @@ -40763,7 +42553,7 @@ for (var i = 0; i < object.profilerTargets.length; ++i) { if (typeof object.profilerTargets[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsResponse.profilerTargets: object expected"); - message.profilerTargets[i] = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.fromObject(object.profilerTargets[i]); + message.profilerTargets[i] = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget.fromObject(object.profilerTargets[i], long + 1); } } if (object.nextPageToken != null) @@ -40847,7 +42637,7 @@ function DeleteProfilerTargetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40912,9 +42702,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteProfilerTargetRequest.decode = function decode(reader, length, error) { + DeleteProfilerTargetRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40926,7 +42720,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40957,9 +42751,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteProfilerTargetRequest.verify = function verify(message) { + DeleteProfilerTargetRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -40974,9 +42772,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest} DeleteProfilerTargetRequest */ - DeleteProfilerTargetRequest.fromObject = function fromObject(object) { + DeleteProfilerTargetRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest(); if (object.name != null) message.name = String(object.name); @@ -41054,7 +42856,7 @@ function CreateProfilerSessionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41139,9 +42941,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProfilerSessionRequest.decode = function decode(reader, length, error) { + CreateProfilerSessionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41157,11 +42963,11 @@ break; } case 3: { - message.profilerSession = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.decode(reader, reader.uint32()); + message.profilerSession = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41192,9 +42998,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateProfilerSessionRequest.verify = function verify(message) { + CreateProfilerSessionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -41202,7 +43012,7 @@ if (!$util.isString(message.profilerSessionId)) return "profilerSessionId: string expected"; if (message.profilerSession != null && message.hasOwnProperty("profilerSession")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.verify(message.profilerSession); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.verify(message.profilerSession, long + 1); if (error) return "profilerSession." + error; } @@ -41217,9 +43027,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest} CreateProfilerSessionRequest */ - CreateProfilerSessionRequest.fromObject = function fromObject(object) { + CreateProfilerSessionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -41228,7 +43042,7 @@ if (object.profilerSession != null) { if (typeof object.profilerSession !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest.profilerSession: object expected"); - message.profilerSession = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.fromObject(object.profilerSession); + message.profilerSession = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.fromObject(object.profilerSession, long + 1); } return message; }; @@ -41309,7 +43123,7 @@ function GetProfilerSessionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41374,9 +43188,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProfilerSessionRequest.decode = function decode(reader, length, error) { + GetProfilerSessionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41388,7 +43206,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41419,9 +43237,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProfilerSessionRequest.verify = function verify(message) { + GetProfilerSessionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -41436,9 +43258,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest} GetProfilerSessionRequest */ - GetProfilerSessionRequest.fromObject = function fromObject(object) { + GetProfilerSessionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest(); if (object.name != null) message.name = String(object.name); @@ -41516,7 +43342,7 @@ function ListProfilerSessionsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41601,9 +43427,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProfilerSessionsRequest.decode = function decode(reader, length, error) { + ListProfilerSessionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41623,7 +43453,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41654,9 +43484,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProfilerSessionsRequest.verify = function verify(message) { + ListProfilerSessionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -41677,9 +43511,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest} ListProfilerSessionsRequest */ - ListProfilerSessionsRequest.fromObject = function fromObject(object) { + ListProfilerSessionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -41768,7 +43606,7 @@ this.profilerSessions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41844,9 +43682,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProfilerSessionsResponse.decode = function decode(reader, length, error) { + ListProfilerSessionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41856,7 +43698,7 @@ case 1: { if (!(message.profilerSessions && message.profilerSessions.length)) message.profilerSessions = []; - message.profilerSessions.push($root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.decode(reader, reader.uint32())); + message.profilerSessions.push($root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -41864,7 +43706,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41895,14 +43737,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProfilerSessionsResponse.verify = function verify(message) { + ListProfilerSessionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.profilerSessions != null && message.hasOwnProperty("profilerSessions")) { if (!Array.isArray(message.profilerSessions)) return "profilerSessions: array expected"; for (var i = 0; i < message.profilerSessions.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.verify(message.profilerSessions[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.verify(message.profilerSessions[i], long + 1); if (error) return "profilerSessions." + error; } @@ -41921,9 +43767,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsResponse} ListProfilerSessionsResponse */ - ListProfilerSessionsResponse.fromObject = function fromObject(object) { + ListProfilerSessionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsResponse(); if (object.profilerSessions) { if (!Array.isArray(object.profilerSessions)) @@ -41932,7 +43782,7 @@ for (var i = 0; i < object.profilerSessions.length; ++i) { if (typeof object.profilerSessions[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsResponse.profilerSessions: object expected"); - message.profilerSessions[i] = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.fromObject(object.profilerSessions[i]); + message.profilerSessions[i] = $root.google.cloud.hypercomputecluster.v1alpha.ProfilerSession.fromObject(object.profilerSessions[i], long + 1); } } if (object.nextPageToken != null) @@ -42016,7 +43866,7 @@ function DeleteProfilerSessionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42081,9 +43931,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteProfilerSessionRequest.decode = function decode(reader, length, error) { + DeleteProfilerSessionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42095,7 +43949,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42126,9 +43980,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteProfilerSessionRequest.verify = function verify(message) { + DeleteProfilerSessionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -42143,9 +44001,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest} DeleteProfilerSessionRequest */ - DeleteProfilerSessionRequest.fromObject = function fromObject(object) { + DeleteProfilerSessionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest(); if (object.name != null) message.name = String(object.name); @@ -42221,7 +44083,7 @@ function GetProfileSessionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42286,9 +44148,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProfileSessionRequest.decode = function decode(reader, length, error) { + GetProfileSessionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42300,7 +44166,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42331,9 +44197,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProfileSessionRequest.verify = function verify(message) { + GetProfileSessionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -42348,9 +44218,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest} GetProfileSessionRequest */ - GetProfileSessionRequest.fromObject = function fromObject(object) { + GetProfileSessionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest(); if (object.name != null) message.name = String(object.name); @@ -42428,7 +44302,7 @@ function ListProfileSessionsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42513,9 +44387,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProfileSessionsRequest.decode = function decode(reader, length, error) { + ListProfileSessionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42535,7 +44413,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42566,9 +44444,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProfileSessionsRequest.verify = function verify(message) { + ListProfileSessionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -42589,9 +44471,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest} ListProfileSessionsRequest */ - ListProfileSessionsRequest.fromObject = function fromObject(object) { + ListProfileSessionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -42680,7 +44566,7 @@ this.profileSessions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42756,9 +44642,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProfileSessionsResponse.decode = function decode(reader, length, error) { + ListProfileSessionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42768,7 +44658,7 @@ case 1: { if (!(message.profileSessions && message.profileSessions.length)) message.profileSessions = []; - message.profileSessions.push($root.google.cloud.hypercomputecluster.v1alpha.ProfileSession.decode(reader, reader.uint32())); + message.profileSessions.push($root.google.cloud.hypercomputecluster.v1alpha.ProfileSession.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -42776,7 +44666,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42807,14 +44697,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProfileSessionsResponse.verify = function verify(message) { + ListProfileSessionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.profileSessions != null && message.hasOwnProperty("profileSessions")) { if (!Array.isArray(message.profileSessions)) return "profileSessions: array expected"; for (var i = 0; i < message.profileSessions.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfileSession.verify(message.profileSessions[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.ProfileSession.verify(message.profileSessions[i], long + 1); if (error) return "profileSessions." + error; } @@ -42833,9 +44727,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsResponse} ListProfileSessionsResponse */ - ListProfileSessionsResponse.fromObject = function fromObject(object) { + ListProfileSessionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsResponse(); if (object.profileSessions) { if (!Array.isArray(object.profileSessions)) @@ -42844,7 +44742,7 @@ for (var i = 0; i < object.profileSessions.length; ++i) { if (typeof object.profileSessions[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsResponse.profileSessions: object expected"); - message.profileSessions[i] = $root.google.cloud.hypercomputecluster.v1alpha.ProfileSession.fromObject(object.profileSessions[i]); + message.profileSessions[i] = $root.google.cloud.hypercomputecluster.v1alpha.ProfileSession.fromObject(object.profileSessions[i], long + 1); } } if (object.nextPageToken != null) @@ -42930,7 +44828,7 @@ function CreateMonitoredEventRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43015,9 +44913,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateMonitoredEventRequest.decode = function decode(reader, length, error) { + CreateMonitoredEventRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43029,7 +44931,7 @@ break; } case 2: { - message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.decode(reader, reader.uint32()); + message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -43037,7 +44939,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43068,14 +44970,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateMonitoredEventRequest.verify = function verify(message) { + CreateMonitoredEventRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; if (message.monitoredEvent != null && message.hasOwnProperty("monitoredEvent")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.verify(message.monitoredEvent); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.verify(message.monitoredEvent, long + 1); if (error) return "monitoredEvent." + error; } @@ -43093,16 +44999,20 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest} CreateMonitoredEventRequest */ - CreateMonitoredEventRequest.fromObject = function fromObject(object) { + CreateMonitoredEventRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest(); if (object.parent != null) message.parent = String(object.parent); if (object.monitoredEvent != null) { if (typeof object.monitoredEvent !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest.monitoredEvent: object expected"); - message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.fromObject(object.monitoredEvent); + message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.fromObject(object.monitoredEvent, long + 1); } if (object.monitoredEventId != null) message.monitoredEventId = String(object.monitoredEventId); @@ -43185,7 +45095,7 @@ function GetMonitoredEventRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43250,9 +45160,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetMonitoredEventRequest.decode = function decode(reader, length, error) { + GetMonitoredEventRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43264,7 +45178,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43295,9 +45209,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetMonitoredEventRequest.verify = function verify(message) { + GetMonitoredEventRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -43312,9 +45230,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest} GetMonitoredEventRequest */ - GetMonitoredEventRequest.fromObject = function fromObject(object) { + GetMonitoredEventRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest(); if (object.name != null) message.name = String(object.name); @@ -43394,7 +45316,7 @@ function ListMonitoredEventsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43499,9 +45421,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMonitoredEventsRequest.decode = function decode(reader, length, error) { + ListMonitoredEventsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43529,7 +45455,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43560,9 +45486,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMonitoredEventsRequest.verify = function verify(message) { + ListMonitoredEventsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -43589,9 +45519,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest} ListMonitoredEventsRequest */ - ListMonitoredEventsRequest.fromObject = function fromObject(object) { + ListMonitoredEventsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -43690,7 +45624,7 @@ this.monitoredEvents = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43766,9 +45700,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListMonitoredEventsResponse.decode = function decode(reader, length, error) { + ListMonitoredEventsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43778,7 +45716,7 @@ case 1: { if (!(message.monitoredEvents && message.monitoredEvents.length)) message.monitoredEvents = []; - message.monitoredEvents.push($root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.decode(reader, reader.uint32())); + message.monitoredEvents.push($root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -43786,7 +45724,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43817,14 +45755,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListMonitoredEventsResponse.verify = function verify(message) { + ListMonitoredEventsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.monitoredEvents != null && message.hasOwnProperty("monitoredEvents")) { if (!Array.isArray(message.monitoredEvents)) return "monitoredEvents: array expected"; for (var i = 0; i < message.monitoredEvents.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.verify(message.monitoredEvents[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.verify(message.monitoredEvents[i], long + 1); if (error) return "monitoredEvents." + error; } @@ -43843,9 +45785,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsResponse} ListMonitoredEventsResponse */ - ListMonitoredEventsResponse.fromObject = function fromObject(object) { + ListMonitoredEventsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsResponse(); if (object.monitoredEvents) { if (!Array.isArray(object.monitoredEvents)) @@ -43854,7 +45800,7 @@ for (var i = 0; i < object.monitoredEvents.length; ++i) { if (typeof object.monitoredEvents[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsResponse.monitoredEvents: object expected"); - message.monitoredEvents[i] = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.fromObject(object.monitoredEvents[i]); + message.monitoredEvents[i] = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.fromObject(object.monitoredEvents[i], long + 1); } } if (object.nextPageToken != null) @@ -43939,7 +45885,7 @@ function UpdateMonitoredEventRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44014,9 +45960,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateMonitoredEventRequest.decode = function decode(reader, length, error) { + UpdateMonitoredEventRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44024,15 +45974,15 @@ break; switch (tag >>> 3) { case 1: { - message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.decode(reader, reader.uint32()); + message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44063,16 +46013,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateMonitoredEventRequest.verify = function verify(message) { + UpdateMonitoredEventRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.monitoredEvent != null && message.hasOwnProperty("monitoredEvent")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.verify(message.monitoredEvent); + var error = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.verify(message.monitoredEvent, long + 1); if (error) return "monitoredEvent." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -44087,19 +46041,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest} UpdateMonitoredEventRequest */ - UpdateMonitoredEventRequest.fromObject = function fromObject(object) { + UpdateMonitoredEventRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest(); if (object.monitoredEvent != null) { if (typeof object.monitoredEvent !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest.monitoredEvent: object expected"); - message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.fromObject(object.monitoredEvent); + message.monitoredEvent = $root.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent.fromObject(object.monitoredEvent, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -44177,7 +46135,7 @@ function DeleteMonitoredEventRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44242,9 +46200,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteMonitoredEventRequest.decode = function decode(reader, length, error) { + DeleteMonitoredEventRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44256,7 +46218,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44287,9 +46249,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteMonitoredEventRequest.verify = function verify(message) { + DeleteMonitoredEventRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -44304,9 +46270,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest} DeleteMonitoredEventRequest */ - DeleteMonitoredEventRequest.fromObject = function fromObject(object) { + DeleteMonitoredEventRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest(); if (object.name != null) message.name = String(object.name); @@ -44387,7 +46357,7 @@ this.hardwareConfigs = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44475,9 +46445,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Configs.decode = function decode(reader, length, error) { + Configs.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Configs(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -44500,10 +46474,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.userConfigs, key); message.userConfigs[key] = value; break; } @@ -44523,10 +46499,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.softwareConfigs, key); message.softwareConfigs[key] = value; break; } @@ -44546,15 +46524,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.hardwareConfigs, key); message.hardwareConfigs[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44585,9 +46565,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Configs.verify = function verify(message) { + Configs.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.userConfigs != null && message.hasOwnProperty("userConfigs")) { if (!$util.isObject(message.userConfigs)) return "userConfigs: object expected"; @@ -44623,30 +46607,43 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Configs} Configs */ - Configs.fromObject = function fromObject(object) { + Configs.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Configs) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Configs(); if (object.userConfigs) { if (typeof object.userConfigs !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Configs.userConfigs: object expected"); message.userConfigs = {}; - for (var keys = Object.keys(object.userConfigs), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.userConfigs), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.userConfigs, keys[i]); message.userConfigs[keys[i]] = String(object.userConfigs[keys[i]]); + } } if (object.softwareConfigs) { if (typeof object.softwareConfigs !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Configs.softwareConfigs: object expected"); message.softwareConfigs = {}; - for (var keys = Object.keys(object.softwareConfigs), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.softwareConfigs), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.softwareConfigs, keys[i]); message.softwareConfigs[keys[i]] = String(object.softwareConfigs[keys[i]]); + } } if (object.hardwareConfigs) { if (typeof object.hardwareConfigs !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Configs.hardwareConfigs: object expected"); message.hardwareConfigs = {}; - for (var keys = Object.keys(object.hardwareConfigs), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.hardwareConfigs), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.hardwareConfigs, keys[i]); message.hardwareConfigs[keys[i]] = String(object.hardwareConfigs[keys[i]]); + } } return message; }; @@ -44672,18 +46669,27 @@ var keys2; if (message.userConfigs && (keys2 = Object.keys(message.userConfigs)).length) { object.userConfigs = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.userConfigs, keys2[j]); object.userConfigs[keys2[j]] = message.userConfigs[keys2[j]]; + } } if (message.softwareConfigs && (keys2 = Object.keys(message.softwareConfigs)).length) { object.softwareConfigs = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.softwareConfigs, keys2[j]); object.softwareConfigs[keys2[j]] = message.softwareConfigs[keys2[j]]; + } } if (message.hardwareConfigs && (keys2 = Object.keys(message.hardwareConfigs)).length) { object.hardwareConfigs = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.hardwareConfigs, keys2[j]); object.hardwareConfigs[keys2[j]] = message.hardwareConfigs[keys2[j]]; + } } return object; }; @@ -44742,7 +46748,7 @@ function Metrics(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44857,9 +46863,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Metrics.decode = function decode(reader, length, error) { + Metrics.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Metrics(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44867,7 +46877,7 @@ break; switch (tag >>> 3) { case 1: { - message.avgStep = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.avgStep = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -44879,7 +46889,7 @@ break; } case 4: { - message.avgLatency = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.avgLatency = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -44891,7 +46901,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44922,11 +46932,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Metrics.verify = function verify(message) { + Metrics.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.avgStep != null && message.hasOwnProperty("avgStep")) { - var error = $root.google.protobuf.Duration.verify(message.avgStep); + var error = $root.google.protobuf.Duration.verify(message.avgStep, long + 1); if (error) return "avgStep." + error; } @@ -44937,7 +46951,7 @@ if (typeof message.avgThroughput !== "number") return "avgThroughput: number expected"; if (message.avgLatency != null && message.hasOwnProperty("avgLatency")) { - var error = $root.google.protobuf.Duration.verify(message.avgLatency); + var error = $root.google.protobuf.Duration.verify(message.avgLatency, long + 1); if (error) return "avgLatency." + error; } @@ -44958,14 +46972,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Metrics} Metrics */ - Metrics.fromObject = function fromObject(object) { + Metrics.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Metrics) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Metrics(); if (object.avgStep != null) { if (typeof object.avgStep !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Metrics.avgStep: object expected"); - message.avgStep = $root.google.protobuf.Duration.fromObject(object.avgStep); + message.avgStep = $root.google.protobuf.Duration.fromObject(object.avgStep, long + 1); } if (object.avgMfu != null) message.avgMfu = Number(object.avgMfu); @@ -44974,7 +46992,7 @@ if (object.avgLatency != null) { if (typeof object.avgLatency !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Metrics.avgLatency: object expected"); - message.avgLatency = $root.google.protobuf.Duration.fromObject(object.avgLatency); + message.avgLatency = $root.google.protobuf.Duration.fromObject(object.avgLatency, long + 1); } if (object.avgTpuTensorcoreUtilization != null) message.avgTpuTensorcoreUtilization = Number(object.avgTpuTensorcoreUtilization); @@ -45068,7 +47086,7 @@ function Artifacts(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45133,9 +47151,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Artifacts.decode = function decode(reader, length, error) { + Artifacts.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Artifacts(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45147,7 +47169,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45178,9 +47200,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Artifacts.verify = function verify(message) { + Artifacts.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.gcsPath != null && message.hasOwnProperty("gcsPath")) if (!$util.isString(message.gcsPath)) return "gcsPath: string expected"; @@ -45195,9 +47221,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Artifacts} Artifacts */ - Artifacts.fromObject = function fromObject(object) { + Artifacts.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Artifacts) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Artifacts(); if (object.gcsPath != null) message.gcsPath = String(object.gcsPath); @@ -45274,7 +47304,7 @@ function Tool(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45363,9 +47393,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Tool.decode = function decode(reader, length, error) { + Tool.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Tool(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45373,15 +47407,15 @@ break; switch (tag >>> 3) { case 1: { - message.xprof = $root.google.cloud.hypercomputecluster.v1alpha.Xprof.decode(reader, reader.uint32()); + message.xprof = $root.google.cloud.hypercomputecluster.v1alpha.Xprof.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.smon = $root.google.cloud.hypercomputecluster.v1alpha.Smon.decode(reader, reader.uint32()); + message.smon = $root.google.cloud.hypercomputecluster.v1alpha.Smon.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45412,14 +47446,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Tool.verify = function verify(message) { + Tool.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.xprof != null && message.hasOwnProperty("xprof")) { properties.tool = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Xprof.verify(message.xprof); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Xprof.verify(message.xprof, long + 1); if (error) return "xprof." + error; } @@ -45429,7 +47467,7 @@ return "tool: multiple values"; properties.tool = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.Smon.verify(message.smon); + var error = $root.google.cloud.hypercomputecluster.v1alpha.Smon.verify(message.smon, long + 1); if (error) return "smon." + error; } @@ -45445,19 +47483,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Tool} Tool */ - Tool.fromObject = function fromObject(object) { + Tool.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Tool) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Tool(); if (object.xprof != null) { if (typeof object.xprof !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Tool.xprof: object expected"); - message.xprof = $root.google.cloud.hypercomputecluster.v1alpha.Xprof.fromObject(object.xprof); + message.xprof = $root.google.cloud.hypercomputecluster.v1alpha.Xprof.fromObject(object.xprof, long + 1); } if (object.smon != null) { if (typeof object.smon !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.Tool.smon: object expected"); - message.smon = $root.google.cloud.hypercomputecluster.v1alpha.Smon.fromObject(object.smon); + message.smon = $root.google.cloud.hypercomputecluster.v1alpha.Smon.fromObject(object.smon, long + 1); } return message; }; @@ -45537,7 +47579,7 @@ function WorkloadDetails(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45616,9 +47658,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WorkloadDetails.decode = function decode(reader, length, error) { + WorkloadDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45626,11 +47672,11 @@ break; switch (tag >>> 3) { case 1: { - message.gke = $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.decode(reader, reader.uint32()); + message.gke = $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45661,14 +47707,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WorkloadDetails.verify = function verify(message) { + WorkloadDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.gke != null && message.hasOwnProperty("gke")) { properties.metadata = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.verify(message.gke); + var error = $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.verify(message.gke, long + 1); if (error) return "gke." + error; } @@ -45684,14 +47734,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.WorkloadDetails} WorkloadDetails */ - WorkloadDetails.fromObject = function fromObject(object) { + WorkloadDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.WorkloadDetails(); if (object.gke != null) { if (typeof object.gke !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.WorkloadDetails.gke: object expected"); - message.gke = $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.fromObject(object.gke); + message.gke = $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.fromObject(object.gke, long + 1); } return message; }; @@ -45773,7 +47827,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45899,9 +47953,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GKEWorkloadDetails.decode = function decode(reader, length, error) { + GKEWorkloadDetails.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -45944,19 +48002,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 7: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45987,9 +48047,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GKEWorkloadDetails.verify = function verify(message) { + GKEWorkloadDetails.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -46014,7 +48078,7 @@ return "labels: string{k:string} expected"; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -46029,9 +48093,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails} GKEWorkloadDetails */ - GKEWorkloadDetails.fromObject = function fromObject(object) { + GKEWorkloadDetails.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails(); if (object.id != null) message.id = String(object.id); @@ -46047,13 +48115,16 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.GKEWorkloadDetails.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } return message; }; @@ -46094,8 +48165,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); @@ -46151,7 +48225,7 @@ function Xprof(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46216,9 +48290,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Xprof.decode = function decode(reader, length, error) { + Xprof.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Xprof(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46230,7 +48308,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46261,9 +48339,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Xprof.verify = function verify(message) { + Xprof.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sessionId != null && message.hasOwnProperty("sessionId")) if (!$util.isString(message.sessionId)) return "sessionId: string expected"; @@ -46278,9 +48360,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Xprof} Xprof */ - Xprof.fromObject = function fromObject(object) { + Xprof.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Xprof) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Xprof(); if (object.sessionId != null) message.sessionId = String(object.sessionId); @@ -46356,7 +48442,7 @@ function Smon(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46421,9 +48507,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Smon.decode = function decode(reader, length, error) { + Smon.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.Smon(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46435,7 +48525,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46466,9 +48556,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Smon.verify = function verify(message) { + Smon.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.monitoringSummary != null && message.hasOwnProperty("monitoringSummary")) if (!$util.isString(message.monitoringSummary)) return "monitoringSummary: string expected"; @@ -46483,9 +48577,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.Smon} Smon */ - Smon.fromObject = function fromObject(object) { + Smon.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.Smon) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.Smon(); if (object.monitoringSummary != null) message.monitoringSummary = String(object.monitoringSummary); @@ -46565,7 +48663,7 @@ this.recommendedActions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46661,9 +48759,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnalyzerReport.decode = function decode(reader, length, error) { + AnalyzerReport.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46673,7 +48775,7 @@ case 4: { if (!(message.recommendedActions && message.recommendedActions.length)) message.recommendedActions = []; - message.recommendedActions.push($root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction.decode(reader, reader.uint32())); + message.recommendedActions.push($root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { @@ -46689,7 +48791,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46720,14 +48822,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnalyzerReport.verify = function verify(message) { + AnalyzerReport.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.recommendedActions != null && message.hasOwnProperty("recommendedActions")) { if (!Array.isArray(message.recommendedActions)) return "recommendedActions: array expected"; for (var i = 0; i < message.recommendedActions.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction.verify(message.recommendedActions[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction.verify(message.recommendedActions[i], long + 1); if (error) return "recommendedActions." + error; } @@ -46758,9 +48864,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.AnalyzerReport} AnalyzerReport */ - AnalyzerReport.fromObject = function fromObject(object) { + AnalyzerReport.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.AnalyzerReport(); if (object.recommendedActions) { if (!Array.isArray(object.recommendedActions)) @@ -46769,7 +48879,7 @@ for (var i = 0; i < object.recommendedActions.length; ++i) { if (typeof object.recommendedActions[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.AnalyzerReport.recommendedActions: object expected"); - message.recommendedActions[i] = $root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction.fromObject(object.recommendedActions[i]); + message.recommendedActions[i] = $root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction.fromObject(object.recommendedActions[i], long + 1); } } if (object.analyzer != null) @@ -46899,7 +49009,7 @@ function RecommendedAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46974,9 +49084,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecommendedAction.decode = function decode(reader, length, error) { + RecommendedAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46992,7 +49106,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47023,9 +49137,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RecommendedAction.verify = function verify(message) { + RecommendedAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; @@ -47043,9 +49161,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.RecommendedAction} RecommendedAction */ - RecommendedAction.fromObject = function fromObject(object) { + RecommendedAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.RecommendedAction(); if (object.description != null) message.description = String(object.description); @@ -47133,7 +49255,7 @@ function OperationMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47258,9 +49380,13 @@ * @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, error) { + OperationMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.OperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47268,11 +49394,11 @@ break; switch (tag >>> 3) { case 1: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -47292,11 +49418,11 @@ break; } case 7: { - message.progress = $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47327,16 +49453,20 @@ * @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) { + OperationMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -47353,7 +49483,7 @@ if (!$util.isString(message.apiVersion)) return "apiVersion: string expected"; if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress.verify(message.progress); + var error = $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } @@ -47368,19 +49498,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.OperationMetadata} OperationMetadata */ - OperationMetadata.fromObject = function fromObject(object) { + OperationMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.OperationMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.OperationMetadata(); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationMetadata.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.target != null) message.target = String(object.target); @@ -47393,7 +49527,7 @@ if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationMetadata.progress: object expected"); - message.progress = $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress.fromObject(object.progress); + message.progress = $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress.fromObject(object.progress, long + 1); } return message; }; @@ -47487,7 +49621,7 @@ this.steps = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47553,9 +49687,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationProgress.decode = function decode(reader, length, error) { + OperationProgress.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47565,11 +49703,11 @@ case 1: { if (!(message.steps && message.steps.length)) message.steps = []; - message.steps.push($root.google.cloud.hypercomputecluster.v1alpha.OperationStep.decode(reader, reader.uint32())); + message.steps.push($root.google.cloud.hypercomputecluster.v1alpha.OperationStep.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47600,14 +49738,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationProgress.verify = function verify(message) { + OperationProgress.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.steps != null && message.hasOwnProperty("steps")) { if (!Array.isArray(message.steps)) return "steps: array expected"; for (var i = 0; i < message.steps.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1alpha.OperationStep.verify(message.steps[i]); + var error = $root.google.cloud.hypercomputecluster.v1alpha.OperationStep.verify(message.steps[i], long + 1); if (error) return "steps." + error; } @@ -47623,9 +49765,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.OperationProgress} OperationProgress */ - OperationProgress.fromObject = function fromObject(object) { + OperationProgress.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.OperationProgress(); if (object.steps) { if (!Array.isArray(object.steps)) @@ -47634,7 +49780,7 @@ for (var i = 0; i < object.steps.length; ++i) { if (typeof object.steps[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationProgress.steps: object expected"); - message.steps[i] = $root.google.cloud.hypercomputecluster.v1alpha.OperationStep.fromObject(object.steps[i]); + message.steps[i] = $root.google.cloud.hypercomputecluster.v1alpha.OperationStep.fromObject(object.steps[i], long + 1); } } return message; @@ -47737,7 +49883,7 @@ function OperationStep(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48066,9 +50212,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationStep.decode = function decode(reader, length, error) { + OperationStep.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.OperationStep(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48076,103 +50226,103 @@ break; switch (tag >>> 3) { case 2: { - message.createNetwork = $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork.decode(reader, reader.uint32()); + message.createNetwork = $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess.decode(reader, reader.uint32()); + message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance.decode(reader, reader.uint32()); + message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket.decode(reader, reader.uint32()); + message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance.decode(reader, reader.uint32()); + message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.createGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster.decode(reader, reader.uint32()); + message.createGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator.decode(reader, reader.uint32()); + message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.createNodeset = $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset.decode(reader, reader.uint32()); + message.createNodeset = $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.createPartition = $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition.decode(reader, reader.uint32()); + message.createPartition = $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.createLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode.decode(reader, reader.uint32()); + message.createLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth.decode(reader, reader.uint32()); + message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { - message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator.decode(reader, reader.uint32()); + message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { - message.updateNodeset = $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset.decode(reader, reader.uint32()); + message.updateNodeset = $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 15: { - message.updatePartition = $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition.decode(reader, reader.uint32()); + message.updatePartition = $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 16: { - message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode.decode(reader, reader.uint32()); + message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { - message.deleteGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster.decode(reader, reader.uint32()); + message.deleteGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { - message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator.decode(reader, reader.uint32()); + message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } case 19: { - message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset.decode(reader, reader.uint32()); + message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset.decode(reader, reader.uint32(), undefined, long + 1); break; } case 20: { - message.deletePartition = $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition.decode(reader, reader.uint32()); + message.deletePartition = $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 21: { - message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode.decode(reader, reader.uint32()); + message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance.decode(reader, reader.uint32()); + message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket.decode(reader, reader.uint32()); + message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance.decode(reader, reader.uint32()); + message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess.decode(reader, reader.uint32()); + message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork.decode(reader, reader.uint32()); + message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { @@ -48180,7 +50330,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48211,14 +50361,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationStep.verify = function verify(message) { + OperationStep.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.createNetwork != null && message.hasOwnProperty("createNetwork")) { properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork.verify(message.createNetwork); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork.verify(message.createNetwork, long + 1); if (error) return "createNetwork." + error; } @@ -48228,7 +50382,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess.verify(message.createPrivateServiceAccess); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess.verify(message.createPrivateServiceAccess, long + 1); if (error) return "createPrivateServiceAccess." + error; } @@ -48238,7 +50392,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance.verify(message.createFilestoreInstance); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance.verify(message.createFilestoreInstance, long + 1); if (error) return "createFilestoreInstance." + error; } @@ -48248,7 +50402,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket.verify(message.createStorageBucket); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket.verify(message.createStorageBucket, long + 1); if (error) return "createStorageBucket." + error; } @@ -48258,7 +50412,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance.verify(message.createLustreInstance); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance.verify(message.createLustreInstance, long + 1); if (error) return "createLustreInstance." + error; } @@ -48268,7 +50422,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster.verify(message.createGkeCluster); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster.verify(message.createGkeCluster, long + 1); if (error) return "createGkeCluster." + error; } @@ -48278,7 +50432,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator.verify(message.createOrchestrator); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator.verify(message.createOrchestrator, long + 1); if (error) return "createOrchestrator." + error; } @@ -48288,7 +50442,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset.verify(message.createNodeset); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset.verify(message.createNodeset, long + 1); if (error) return "createNodeset." + error; } @@ -48298,7 +50452,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition.verify(message.createPartition); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition.verify(message.createPartition, long + 1); if (error) return "createPartition." + error; } @@ -48308,7 +50462,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode.verify(message.createLoginNode); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode.verify(message.createLoginNode, long + 1); if (error) return "createLoginNode." + error; } @@ -48318,7 +50472,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth.verify(message.checkClusterHealth); + var error = $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth.verify(message.checkClusterHealth, long + 1); if (error) return "checkClusterHealth." + error; } @@ -48328,7 +50482,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator.verify(message.updateOrchestrator); + var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator.verify(message.updateOrchestrator, long + 1); if (error) return "updateOrchestrator." + error; } @@ -48338,7 +50492,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset.verify(message.updateNodeset); + var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset.verify(message.updateNodeset, long + 1); if (error) return "updateNodeset." + error; } @@ -48348,7 +50502,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition.verify(message.updatePartition); + var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition.verify(message.updatePartition, long + 1); if (error) return "updatePartition." + error; } @@ -48358,7 +50512,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode.verify(message.updateLoginNode); + var error = $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode.verify(message.updateLoginNode, long + 1); if (error) return "updateLoginNode." + error; } @@ -48368,7 +50522,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster.verify(message.deleteGkeCluster); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster.verify(message.deleteGkeCluster, long + 1); if (error) return "deleteGkeCluster." + error; } @@ -48378,7 +50532,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator.verify(message.deleteOrchestrator); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator.verify(message.deleteOrchestrator, long + 1); if (error) return "deleteOrchestrator." + error; } @@ -48388,7 +50542,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset.verify(message.deleteNodeset); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset.verify(message.deleteNodeset, long + 1); if (error) return "deleteNodeset." + error; } @@ -48398,7 +50552,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition.verify(message.deletePartition); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition.verify(message.deletePartition, long + 1); if (error) return "deletePartition." + error; } @@ -48408,7 +50562,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode.verify(message.deleteLoginNode); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode.verify(message.deleteLoginNode, long + 1); if (error) return "deleteLoginNode." + error; } @@ -48418,7 +50572,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance.verify(message.deleteFilestoreInstance); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance.verify(message.deleteFilestoreInstance, long + 1); if (error) return "deleteFilestoreInstance." + error; } @@ -48428,7 +50582,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket.verify(message.deleteStorageBucket); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket.verify(message.deleteStorageBucket, long + 1); if (error) return "deleteStorageBucket." + error; } @@ -48438,7 +50592,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance.verify(message.deleteLustreInstance); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance.verify(message.deleteLustreInstance, long + 1); if (error) return "deleteLustreInstance." + error; } @@ -48448,7 +50602,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess.verify(message.deletePrivateServiceAccess); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess.verify(message.deletePrivateServiceAccess, long + 1); if (error) return "deletePrivateServiceAccess." + error; } @@ -48458,7 +50612,7 @@ return "type: multiple values"; properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork.verify(message.deleteNetwork); + var error = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork.verify(message.deleteNetwork, long + 1); if (error) return "deleteNetwork." + error; } @@ -48484,134 +50638,138 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.OperationStep} OperationStep */ - OperationStep.fromObject = function fromObject(object) { + OperationStep.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.OperationStep) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.OperationStep(); if (object.createNetwork != null) { if (typeof object.createNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createNetwork: object expected"); - message.createNetwork = $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork.fromObject(object.createNetwork); + message.createNetwork = $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork.fromObject(object.createNetwork, long + 1); } if (object.createPrivateServiceAccess != null) { if (typeof object.createPrivateServiceAccess !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createPrivateServiceAccess: object expected"); - message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess.fromObject(object.createPrivateServiceAccess); + message.createPrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess.fromObject(object.createPrivateServiceAccess, long + 1); } if (object.createFilestoreInstance != null) { if (typeof object.createFilestoreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createFilestoreInstance: object expected"); - message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance.fromObject(object.createFilestoreInstance); + message.createFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance.fromObject(object.createFilestoreInstance, long + 1); } if (object.createStorageBucket != null) { if (typeof object.createStorageBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createStorageBucket: object expected"); - message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket.fromObject(object.createStorageBucket); + message.createStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket.fromObject(object.createStorageBucket, long + 1); } if (object.createLustreInstance != null) { if (typeof object.createLustreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createLustreInstance: object expected"); - message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance.fromObject(object.createLustreInstance); + message.createLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance.fromObject(object.createLustreInstance, long + 1); } if (object.createGkeCluster != null) { if (typeof object.createGkeCluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createGkeCluster: object expected"); - message.createGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster.fromObject(object.createGkeCluster); + message.createGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster.fromObject(object.createGkeCluster, long + 1); } if (object.createOrchestrator != null) { if (typeof object.createOrchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createOrchestrator: object expected"); - message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator.fromObject(object.createOrchestrator); + message.createOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator.fromObject(object.createOrchestrator, long + 1); } if (object.createNodeset != null) { if (typeof object.createNodeset !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createNodeset: object expected"); - message.createNodeset = $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset.fromObject(object.createNodeset); + message.createNodeset = $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset.fromObject(object.createNodeset, long + 1); } if (object.createPartition != null) { if (typeof object.createPartition !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createPartition: object expected"); - message.createPartition = $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition.fromObject(object.createPartition); + message.createPartition = $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition.fromObject(object.createPartition, long + 1); } if (object.createLoginNode != null) { if (typeof object.createLoginNode !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.createLoginNode: object expected"); - message.createLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode.fromObject(object.createLoginNode); + message.createLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode.fromObject(object.createLoginNode, long + 1); } if (object.checkClusterHealth != null) { if (typeof object.checkClusterHealth !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.checkClusterHealth: object expected"); - message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth.fromObject(object.checkClusterHealth); + message.checkClusterHealth = $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth.fromObject(object.checkClusterHealth, long + 1); } if (object.updateOrchestrator != null) { if (typeof object.updateOrchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.updateOrchestrator: object expected"); - message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator.fromObject(object.updateOrchestrator); + message.updateOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator.fromObject(object.updateOrchestrator, long + 1); } if (object.updateNodeset != null) { if (typeof object.updateNodeset !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.updateNodeset: object expected"); - message.updateNodeset = $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset.fromObject(object.updateNodeset); + message.updateNodeset = $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset.fromObject(object.updateNodeset, long + 1); } if (object.updatePartition != null) { if (typeof object.updatePartition !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.updatePartition: object expected"); - message.updatePartition = $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition.fromObject(object.updatePartition); + message.updatePartition = $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition.fromObject(object.updatePartition, long + 1); } if (object.updateLoginNode != null) { if (typeof object.updateLoginNode !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.updateLoginNode: object expected"); - message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode.fromObject(object.updateLoginNode); + message.updateLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode.fromObject(object.updateLoginNode, long + 1); } if (object.deleteGkeCluster != null) { if (typeof object.deleteGkeCluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteGkeCluster: object expected"); - message.deleteGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster.fromObject(object.deleteGkeCluster); + message.deleteGkeCluster = $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster.fromObject(object.deleteGkeCluster, long + 1); } if (object.deleteOrchestrator != null) { if (typeof object.deleteOrchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteOrchestrator: object expected"); - message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator.fromObject(object.deleteOrchestrator); + message.deleteOrchestrator = $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator.fromObject(object.deleteOrchestrator, long + 1); } if (object.deleteNodeset != null) { if (typeof object.deleteNodeset !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteNodeset: object expected"); - message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset.fromObject(object.deleteNodeset); + message.deleteNodeset = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset.fromObject(object.deleteNodeset, long + 1); } if (object.deletePartition != null) { if (typeof object.deletePartition !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deletePartition: object expected"); - message.deletePartition = $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition.fromObject(object.deletePartition); + message.deletePartition = $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition.fromObject(object.deletePartition, long + 1); } if (object.deleteLoginNode != null) { if (typeof object.deleteLoginNode !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteLoginNode: object expected"); - message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode.fromObject(object.deleteLoginNode); + message.deleteLoginNode = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode.fromObject(object.deleteLoginNode, long + 1); } if (object.deleteFilestoreInstance != null) { if (typeof object.deleteFilestoreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteFilestoreInstance: object expected"); - message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance.fromObject(object.deleteFilestoreInstance); + message.deleteFilestoreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance.fromObject(object.deleteFilestoreInstance, long + 1); } if (object.deleteStorageBucket != null) { if (typeof object.deleteStorageBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteStorageBucket: object expected"); - message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket.fromObject(object.deleteStorageBucket); + message.deleteStorageBucket = $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket.fromObject(object.deleteStorageBucket, long + 1); } if (object.deleteLustreInstance != null) { if (typeof object.deleteLustreInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteLustreInstance: object expected"); - message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance.fromObject(object.deleteLustreInstance); + message.deleteLustreInstance = $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance.fromObject(object.deleteLustreInstance, long + 1); } if (object.deletePrivateServiceAccess != null) { if (typeof object.deletePrivateServiceAccess !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deletePrivateServiceAccess: object expected"); - message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess.fromObject(object.deletePrivateServiceAccess); + message.deletePrivateServiceAccess = $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess.fromObject(object.deletePrivateServiceAccess, long + 1); } if (object.deleteNetwork != null) { if (typeof object.deleteNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1alpha.OperationStep.deleteNetwork: object expected"); - message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork.fromObject(object.deleteNetwork); + message.deleteNetwork = $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork.fromObject(object.deleteNetwork, long + 1); } switch (object.state) { default: @@ -48852,7 +51010,7 @@ function CreateNetwork(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48917,9 +51075,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNetwork.decode = function decode(reader, length, error) { + CreateNetwork.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48931,7 +51093,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48962,9 +51124,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNetwork.verify = function verify(message) { + CreateNetwork.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -48979,9 +51145,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateNetwork} CreateNetwork */ - CreateNetwork.fromObject = function fromObject(object) { + CreateNetwork.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateNetwork(); if (object.network != null) message.network = String(object.network); @@ -49056,7 +51226,7 @@ function CreatePrivateServiceAccess(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49111,9 +51281,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreatePrivateServiceAccess.decode = function decode(reader, length, error) { + CreatePrivateServiceAccess.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49121,7 +51295,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49152,9 +51326,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreatePrivateServiceAccess.verify = function verify(message) { + CreatePrivateServiceAccess.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -49166,9 +51344,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess} CreatePrivateServiceAccess */ - CreatePrivateServiceAccess.fromObject = function fromObject(object) { + CreatePrivateServiceAccess.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.CreatePrivateServiceAccess(); }; @@ -49234,7 +51416,7 @@ function CreateFilestoreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49299,9 +51481,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateFilestoreInstance.decode = function decode(reader, length, error) { + CreateFilestoreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49313,7 +51499,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49344,9 +51530,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateFilestoreInstance.verify = function verify(message) { + CreateFilestoreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -49361,9 +51551,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance} CreateFilestoreInstance */ - CreateFilestoreInstance.fromObject = function fromObject(object) { + CreateFilestoreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateFilestoreInstance(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -49439,7 +51633,7 @@ function CreateStorageBucket(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49504,9 +51698,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateStorageBucket.decode = function decode(reader, length, error) { + CreateStorageBucket.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49518,7 +51716,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49549,9 +51747,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateStorageBucket.verify = function verify(message) { + CreateStorageBucket.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -49566,9 +51768,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket} CreateStorageBucket */ - CreateStorageBucket.fromObject = function fromObject(object) { + CreateStorageBucket.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateStorageBucket(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -49644,7 +51850,7 @@ function CreateLustreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49709,9 +51915,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateLustreInstance.decode = function decode(reader, length, error) { + CreateLustreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49723,7 +51933,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49754,9 +51964,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateLustreInstance.verify = function verify(message) { + CreateLustreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -49771,9 +51985,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance} CreateLustreInstance */ - CreateLustreInstance.fromObject = function fromObject(object) { + CreateLustreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateLustreInstance(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -49849,7 +52067,7 @@ function CreateGKECluster(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49914,9 +52132,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateGKECluster.decode = function decode(reader, length, error) { + CreateGKECluster.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49928,7 +52150,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49959,9 +52181,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateGKECluster.verify = function verify(message) { + CreateGKECluster.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cluster != null && message.hasOwnProperty("cluster")) if (!$util.isString(message.cluster)) return "cluster: string expected"; @@ -49976,9 +52202,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateGKECluster} CreateGKECluster */ - CreateGKECluster.fromObject = function fromObject(object) { + CreateGKECluster.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateGKECluster(); if (object.cluster != null) message.cluster = String(object.cluster); @@ -50053,7 +52283,7 @@ function CreateOrchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50108,9 +52338,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateOrchestrator.decode = function decode(reader, length, error) { + CreateOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50118,7 +52352,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50149,9 +52383,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateOrchestrator.verify = function verify(message) { + CreateOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -50163,9 +52401,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator} CreateOrchestrator */ - CreateOrchestrator.fromObject = function fromObject(object) { + CreateOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.CreateOrchestrator(); }; @@ -50232,7 +52474,7 @@ this.nodesets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50298,9 +52540,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateNodeset.decode = function decode(reader, length, error) { + CreateNodeset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50314,7 +52560,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50345,9 +52591,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateNodeset.verify = function verify(message) { + CreateNodeset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodesets != null && message.hasOwnProperty("nodesets")) { if (!Array.isArray(message.nodesets)) return "nodesets: array expected"; @@ -50366,9 +52616,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateNodeset} CreateNodeset */ - CreateNodeset.fromObject = function fromObject(object) { + CreateNodeset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateNodeset(); if (object.nodesets) { if (!Array.isArray(object.nodesets)) @@ -50453,7 +52707,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50519,9 +52773,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreatePartition.decode = function decode(reader, length, error) { + CreatePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50535,7 +52793,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50566,9 +52824,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreatePartition.verify = function verify(message) { + CreatePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitions != null && message.hasOwnProperty("partitions")) { if (!Array.isArray(message.partitions)) return "partitions: array expected"; @@ -50587,9 +52849,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreatePartition} CreatePartition */ - CreatePartition.fromObject = function fromObject(object) { + CreatePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.CreatePartition(); if (object.partitions) { if (!Array.isArray(object.partitions)) @@ -50672,7 +52938,7 @@ function CreateLoginNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50727,9 +52993,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateLoginNode.decode = function decode(reader, length, error) { + CreateLoginNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50737,7 +53007,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50768,9 +53038,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateLoginNode.verify = function verify(message) { + CreateLoginNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -50782,9 +53056,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CreateLoginNode} CreateLoginNode */ - CreateLoginNode.fromObject = function fromObject(object) { + CreateLoginNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.CreateLoginNode(); }; @@ -50849,7 +53127,7 @@ function CheckClusterHealth(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50904,9 +53182,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CheckClusterHealth.decode = function decode(reader, length, error) { + CheckClusterHealth.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50914,7 +53196,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50945,9 +53227,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CheckClusterHealth.verify = function verify(message) { + CheckClusterHealth.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -50959,9 +53245,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth} CheckClusterHealth */ - CheckClusterHealth.fromObject = function fromObject(object) { + CheckClusterHealth.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.CheckClusterHealth(); }; @@ -51026,7 +53316,7 @@ function UpdateOrchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51081,9 +53371,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateOrchestrator.decode = function decode(reader, length, error) { + UpdateOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51091,7 +53385,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51122,9 +53416,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateOrchestrator.verify = function verify(message) { + UpdateOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -51136,9 +53434,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator} UpdateOrchestrator */ - UpdateOrchestrator.fromObject = function fromObject(object) { + UpdateOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.UpdateOrchestrator(); }; @@ -51205,7 +53507,7 @@ this.nodesets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51271,9 +53573,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateNodeset.decode = function decode(reader, length, error) { + UpdateNodeset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51287,7 +53593,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51318,9 +53624,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateNodeset.verify = function verify(message) { + UpdateNodeset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodesets != null && message.hasOwnProperty("nodesets")) { if (!Array.isArray(message.nodesets)) return "nodesets: array expected"; @@ -51339,9 +53649,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.UpdateNodeset} UpdateNodeset */ - UpdateNodeset.fromObject = function fromObject(object) { + UpdateNodeset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateNodeset(); if (object.nodesets) { if (!Array.isArray(object.nodesets)) @@ -51426,7 +53740,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51492,9 +53806,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdatePartition.decode = function decode(reader, length, error) { + UpdatePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51508,7 +53826,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51539,9 +53857,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdatePartition.verify = function verify(message) { + UpdatePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitions != null && message.hasOwnProperty("partitions")) { if (!Array.isArray(message.partitions)) return "partitions: array expected"; @@ -51560,9 +53882,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.UpdatePartition} UpdatePartition */ - UpdatePartition.fromObject = function fromObject(object) { + UpdatePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdatePartition(); if (object.partitions) { if (!Array.isArray(object.partitions)) @@ -51645,7 +53971,7 @@ function UpdateLoginNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51700,9 +54026,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateLoginNode.decode = function decode(reader, length, error) { + UpdateLoginNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51710,7 +54040,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51741,9 +54071,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateLoginNode.verify = function verify(message) { + UpdateLoginNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -51755,9 +54089,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode} UpdateLoginNode */ - UpdateLoginNode.fromObject = function fromObject(object) { + UpdateLoginNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.UpdateLoginNode(); }; @@ -51823,7 +54161,7 @@ function DeleteGKECluster(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51888,9 +54226,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteGKECluster.decode = function decode(reader, length, error) { + DeleteGKECluster.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51902,7 +54244,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51933,9 +54275,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteGKECluster.verify = function verify(message) { + DeleteGKECluster.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cluster != null && message.hasOwnProperty("cluster")) if (!$util.isString(message.cluster)) return "cluster: string expected"; @@ -51950,9 +54296,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster} DeleteGKECluster */ - DeleteGKECluster.fromObject = function fromObject(object) { + DeleteGKECluster.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteGKECluster(); if (object.cluster != null) message.cluster = String(object.cluster); @@ -52027,7 +54377,7 @@ function DeleteOrchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52082,9 +54432,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteOrchestrator.decode = function decode(reader, length, error) { + DeleteOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52092,7 +54446,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52123,9 +54477,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteOrchestrator.verify = function verify(message) { + DeleteOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -52137,9 +54495,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator} DeleteOrchestrator */ - DeleteOrchestrator.fromObject = function fromObject(object) { + DeleteOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.DeleteOrchestrator(); }; @@ -52206,7 +54568,7 @@ this.nodesets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52272,9 +54634,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNodeset.decode = function decode(reader, length, error) { + DeleteNodeset.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52288,7 +54654,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52319,9 +54685,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNodeset.verify = function verify(message) { + DeleteNodeset.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.nodesets != null && message.hasOwnProperty("nodesets")) { if (!Array.isArray(message.nodesets)) return "nodesets: array expected"; @@ -52340,9 +54710,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteNodeset} DeleteNodeset */ - DeleteNodeset.fromObject = function fromObject(object) { + DeleteNodeset.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteNodeset(); if (object.nodesets) { if (!Array.isArray(object.nodesets)) @@ -52427,7 +54801,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52493,9 +54867,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeletePartition.decode = function decode(reader, length, error) { + DeletePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52509,7 +54887,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52540,9 +54918,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeletePartition.verify = function verify(message) { + DeletePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitions != null && message.hasOwnProperty("partitions")) { if (!Array.isArray(message.partitions)) return "partitions: array expected"; @@ -52561,9 +54943,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeletePartition} DeletePartition */ - DeletePartition.fromObject = function fromObject(object) { + DeletePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeletePartition(); if (object.partitions) { if (!Array.isArray(object.partitions)) @@ -52646,7 +55032,7 @@ function DeleteLoginNode(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52701,9 +55087,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteLoginNode.decode = function decode(reader, length, error) { + DeleteLoginNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52711,7 +55101,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52742,9 +55132,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteLoginNode.verify = function verify(message) { + DeleteLoginNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -52756,9 +55150,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode} DeleteLoginNode */ - DeleteLoginNode.fromObject = function fromObject(object) { + DeleteLoginNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.DeleteLoginNode(); }; @@ -52824,7 +55222,7 @@ function DeleteFilestoreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52889,9 +55287,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteFilestoreInstance.decode = function decode(reader, length, error) { + DeleteFilestoreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52903,7 +55305,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52934,9 +55336,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteFilestoreInstance.verify = function verify(message) { + DeleteFilestoreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -52951,9 +55357,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance} DeleteFilestoreInstance */ - DeleteFilestoreInstance.fromObject = function fromObject(object) { + DeleteFilestoreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteFilestoreInstance(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -53029,7 +55439,7 @@ function DeleteStorageBucket(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53094,9 +55504,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteStorageBucket.decode = function decode(reader, length, error) { + DeleteStorageBucket.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53108,7 +55522,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53139,9 +55553,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteStorageBucket.verify = function verify(message) { + DeleteStorageBucket.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -53156,9 +55574,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket} DeleteStorageBucket */ - DeleteStorageBucket.fromObject = function fromObject(object) { + DeleteStorageBucket.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteStorageBucket(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -53234,7 +55656,7 @@ function DeleteLustreInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53299,9 +55721,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteLustreInstance.decode = function decode(reader, length, error) { + DeleteLustreInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53313,7 +55739,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53344,9 +55770,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteLustreInstance.verify = function verify(message) { + DeleteLustreInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -53361,9 +55791,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance} DeleteLustreInstance */ - DeleteLustreInstance.fromObject = function fromObject(object) { + DeleteLustreInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteLustreInstance(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -53438,7 +55872,7 @@ function DeletePrivateServiceAccess(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53493,9 +55927,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeletePrivateServiceAccess.decode = function decode(reader, length, error) { + DeletePrivateServiceAccess.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53503,7 +55941,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53534,9 +55972,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeletePrivateServiceAccess.verify = function verify(message) { + DeletePrivateServiceAccess.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -53548,9 +55990,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess} DeletePrivateServiceAccess */ - DeletePrivateServiceAccess.fromObject = function fromObject(object) { + DeletePrivateServiceAccess.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.cloud.hypercomputecluster.v1alpha.DeletePrivateServiceAccess(); }; @@ -53616,7 +56062,7 @@ function DeleteNetwork(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53681,9 +56127,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteNetwork.decode = function decode(reader, length, error) { + DeleteNetwork.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53695,7 +56145,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53726,9 +56176,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteNetwork.verify = function verify(message) { + DeleteNetwork.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -53743,9 +56197,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1alpha.DeleteNetwork} DeleteNetwork */ - DeleteNetwork.fromObject = function fromObject(object) { + DeleteNetwork.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1alpha.DeleteNetwork(); if (object.network != null) message.network = String(object.network); @@ -54046,7 +56504,7 @@ this.computeResources = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54211,9 +56669,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Cluster.decode = function decode(reader, length, error) { + Cluster.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.Cluster(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -54244,19 +56706,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 2: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { @@ -54276,13 +56740,15 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1beta.NetworkResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1beta.NetworkResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.networkResources, key); message.networkResources[key] = value; break; } @@ -54299,13 +56765,15 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1beta.StorageResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1beta.StorageResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.storageResources, key); message.storageResources[key] = value; break; } @@ -54322,22 +56790,24 @@ key = reader.string(); break; case 2: - value = $root.google.cloud.hypercomputecluster.v1beta.ComputeResource.decode(reader, reader.uint32()); + value = $root.google.cloud.hypercomputecluster.v1beta.ComputeResource.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.computeResources, key); message.computeResources[key] = value; break; } case 8: { - message.orchestrator = $root.google.cloud.hypercomputecluster.v1beta.Orchestrator.decode(reader, reader.uint32()); + message.orchestrator = $root.google.cloud.hypercomputecluster.v1beta.Orchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54368,9 +56838,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Cluster.verify = function verify(message) { + Cluster.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -54386,12 +56860,12 @@ return "labels: string{k:string} expected"; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -54403,7 +56877,7 @@ return "networkResources: object expected"; var key = Object.keys(message.networkResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.NetworkResource.verify(message.networkResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1beta.NetworkResource.verify(message.networkResources[key[i]], long + 1); if (error) return "networkResources." + error; } @@ -54413,7 +56887,7 @@ return "storageResources: object expected"; var key = Object.keys(message.storageResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.StorageResource.verify(message.storageResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1beta.StorageResource.verify(message.storageResources[key[i]], long + 1); if (error) return "storageResources." + error; } @@ -54423,13 +56897,13 @@ return "computeResources: object expected"; var key = Object.keys(message.computeResources); for (var i = 0; i < key.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeResource.verify(message.computeResources[key[i]]); + var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeResource.verify(message.computeResources[key[i]], long + 1); if (error) return "computeResources." + error; } } if (message.orchestrator != null && message.hasOwnProperty("orchestrator")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.Orchestrator.verify(message.orchestrator); + var error = $root.google.cloud.hypercomputecluster.v1beta.Orchestrator.verify(message.orchestrator, long + 1); if (error) return "orchestrator." + error; } @@ -54444,9 +56918,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.Cluster} Cluster */ - Cluster.fromObject = function fromObject(object) { + Cluster.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.Cluster) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.Cluster(); if (object.name != null) message.name = String(object.name); @@ -54456,18 +56934,21 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.reconciling != null) message.reconciling = Boolean(object.reconciling); @@ -54476,9 +56957,11 @@ throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.networkResources: object expected"); message.networkResources = {}; for (var keys = Object.keys(object.networkResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.networkResources, keys[i]); if (typeof object.networkResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.networkResources: object expected"); - message.networkResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1beta.NetworkResource.fromObject(object.networkResources[keys[i]]); + message.networkResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1beta.NetworkResource.fromObject(object.networkResources[keys[i]], long + 1); } } if (object.storageResources) { @@ -54486,9 +56969,11 @@ throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.storageResources: object expected"); message.storageResources = {}; for (var keys = Object.keys(object.storageResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.storageResources, keys[i]); if (typeof object.storageResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.storageResources: object expected"); - message.storageResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1beta.StorageResource.fromObject(object.storageResources[keys[i]]); + message.storageResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1beta.StorageResource.fromObject(object.storageResources[keys[i]], long + 1); } } if (object.computeResources) { @@ -54496,15 +56981,17 @@ throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.computeResources: object expected"); message.computeResources = {}; for (var keys = Object.keys(object.computeResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.computeResources, keys[i]); if (typeof object.computeResources[keys[i]] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.computeResources: object expected"); - message.computeResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1beta.ComputeResource.fromObject(object.computeResources[keys[i]]); + message.computeResources[keys[i]] = $root.google.cloud.hypercomputecluster.v1beta.ComputeResource.fromObject(object.computeResources[keys[i]], long + 1); } } if (object.orchestrator != null) { if (typeof object.orchestrator !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Cluster.orchestrator: object expected"); - message.orchestrator = $root.google.cloud.hypercomputecluster.v1beta.Orchestrator.fromObject(object.orchestrator); + message.orchestrator = $root.google.cloud.hypercomputecluster.v1beta.Orchestrator.fromObject(object.orchestrator, long + 1); } return message; }; @@ -54545,8 +57032,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.orchestrator != null && message.hasOwnProperty("orchestrator")) object.orchestrator = $root.google.cloud.hypercomputecluster.v1beta.Orchestrator.toObject(message.orchestrator, options); @@ -54556,18 +57046,27 @@ object.reconciling = message.reconciling; if (message.networkResources && (keys2 = Object.keys(message.networkResources)).length) { object.networkResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.networkResources, keys2[j]); object.networkResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1beta.NetworkResource.toObject(message.networkResources[keys2[j]], options); + } } if (message.storageResources && (keys2 = Object.keys(message.storageResources)).length) { object.storageResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.storageResources, keys2[j]); object.storageResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1beta.StorageResource.toObject(message.storageResources[keys2[j]], options); + } } if (message.computeResources && (keys2 = Object.keys(message.computeResources)).length) { object.computeResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.computeResources, keys2[j]); object.computeResources[keys2[j]] = $root.google.cloud.hypercomputecluster.v1beta.ComputeResource.toObject(message.computeResources[keys2[j]], options); + } } return object; }; @@ -54625,7 +57124,7 @@ function ListClustersRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54730,9 +57229,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListClustersRequest.decode = function decode(reader, length, error) { + ListClustersRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54760,7 +57263,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54791,9 +57294,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListClustersRequest.verify = function verify(message) { + ListClustersRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -54820,9 +57327,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ListClustersRequest} ListClustersRequest */ - ListClustersRequest.fromObject = function fromObject(object) { + ListClustersRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ListClustersRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -54923,7 +57434,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55010,9 +57521,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListClustersResponse.decode = function decode(reader, length, error) { + ListClustersResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ListClustersResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55022,7 +57537,7 @@ case 1: { if (!(message.clusters && message.clusters.length)) message.clusters = []; - message.clusters.push($root.google.cloud.hypercomputecluster.v1beta.Cluster.decode(reader, reader.uint32())); + message.clusters.push($root.google.cloud.hypercomputecluster.v1beta.Cluster.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -55036,7 +57551,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55067,14 +57582,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListClustersResponse.verify = function verify(message) { + ListClustersResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.clusters != null && message.hasOwnProperty("clusters")) { if (!Array.isArray(message.clusters)) return "clusters: array expected"; for (var i = 0; i < message.clusters.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.Cluster.verify(message.clusters[i]); + var error = $root.google.cloud.hypercomputecluster.v1beta.Cluster.verify(message.clusters[i], long + 1); if (error) return "clusters." + error; } @@ -55100,9 +57619,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ListClustersResponse} ListClustersResponse */ - ListClustersResponse.fromObject = function fromObject(object) { + ListClustersResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ListClustersResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ListClustersResponse(); if (object.clusters) { if (!Array.isArray(object.clusters)) @@ -55111,7 +57634,7 @@ for (var i = 0; i < object.clusters.length; ++i) { if (typeof object.clusters[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ListClustersResponse.clusters: object expected"); - message.clusters[i] = $root.google.cloud.hypercomputecluster.v1beta.Cluster.fromObject(object.clusters[i]); + message.clusters[i] = $root.google.cloud.hypercomputecluster.v1beta.Cluster.fromObject(object.clusters[i], long + 1); } } if (object.nextPageToken != null) @@ -55209,7 +57732,7 @@ function GetClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55274,9 +57797,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetClusterRequest.decode = function decode(reader, length, error) { + GetClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.GetClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55288,7 +57815,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55319,9 +57846,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetClusterRequest.verify = function verify(message) { + GetClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -55336,9 +57867,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.GetClusterRequest} GetClusterRequest */ - GetClusterRequest.fromObject = function fromObject(object) { + GetClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.GetClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.GetClusterRequest(); if (object.name != null) message.name = String(object.name); @@ -55417,7 +57952,7 @@ function CreateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55512,9 +58047,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateClusterRequest.decode = function decode(reader, length, error) { + CreateClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55530,7 +58069,7 @@ break; } case 3: { - message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.decode(reader, reader.uint32()); + message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -55538,7 +58077,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55569,9 +58108,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateClusterRequest.verify = function verify(message) { + CreateClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -55579,7 +58122,7 @@ if (!$util.isString(message.clusterId)) return "clusterId: string expected"; if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.Cluster.verify(message.cluster); + var error = $root.google.cloud.hypercomputecluster.v1beta.Cluster.verify(message.cluster, long + 1); if (error) return "cluster." + error; } @@ -55597,9 +58140,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.CreateClusterRequest} CreateClusterRequest */ - CreateClusterRequest.fromObject = function fromObject(object) { + CreateClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -55608,7 +58155,7 @@ if (object.cluster != null) { if (typeof object.cluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.CreateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.fromObject(object.cluster); + message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.fromObject(object.cluster, long + 1); } if (object.requestId != null) message.requestId = String(object.requestId); @@ -55696,7 +58243,7 @@ function UpdateClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55781,9 +58328,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateClusterRequest.decode = function decode(reader, length, error) { + UpdateClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55791,11 +58342,11 @@ break; switch (tag >>> 3) { case 2: { - message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.decode(reader, reader.uint32()); + message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -55803,7 +58354,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55834,16 +58385,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateClusterRequest.verify = function verify(message) { + UpdateClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cluster != null && message.hasOwnProperty("cluster")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.Cluster.verify(message.cluster); + var error = $root.google.cloud.hypercomputecluster.v1beta.Cluster.verify(message.cluster, long + 1); if (error) return "cluster." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -55861,19 +58416,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest} UpdateClusterRequest */ - UpdateClusterRequest.fromObject = function fromObject(object) { + UpdateClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest(); if (object.cluster != null) { if (typeof object.cluster !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest.cluster: object expected"); - message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.fromObject(object.cluster); + message.cluster = $root.google.cloud.hypercomputecluster.v1beta.Cluster.fromObject(object.cluster, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.requestId != null) message.requestId = String(object.requestId); @@ -55957,7 +58516,7 @@ function DeleteClusterRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56032,9 +58591,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteClusterRequest.decode = function decode(reader, length, error) { + DeleteClusterRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56050,7 +58613,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56081,9 +58644,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteClusterRequest.verify = function verify(message) { + DeleteClusterRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -56101,9 +58668,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest} DeleteClusterRequest */ - DeleteClusterRequest.fromObject = function fromObject(object) { + DeleteClusterRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest(); if (object.name != null) message.name = String(object.name); @@ -56186,7 +58757,7 @@ function NetworkResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56275,9 +58846,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkResource.decode = function decode(reader, length, error) { + NetworkResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NetworkResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56285,15 +58860,15 @@ break; switch (tag >>> 3) { case 3: { - message.network = $root.google.cloud.hypercomputecluster.v1beta.NetworkReference.decode(reader, reader.uint32()); + message.network = $root.google.cloud.hypercomputecluster.v1beta.NetworkReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.config = $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56324,20 +58899,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkResource.verify = function verify(message) { + NetworkResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.network != null && message.hasOwnProperty("network")) { properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NetworkReference.verify(message.network); + var error = $root.google.cloud.hypercomputecluster.v1beta.NetworkReference.verify(message.network, long + 1); if (error) return "network." + error; } } if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -56352,19 +58931,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NetworkResource} NetworkResource */ - NetworkResource.fromObject = function fromObject(object) { + NetworkResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NetworkResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NetworkResource(); if (object.network != null) { if (typeof object.network !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NetworkResource.network: object expected"); - message.network = $root.google.cloud.hypercomputecluster.v1beta.NetworkReference.fromObject(object.network); + message.network = $root.google.cloud.hypercomputecluster.v1beta.NetworkReference.fromObject(object.network, long + 1); } if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NetworkResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -56444,7 +59027,7 @@ function NetworkReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56519,9 +59102,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkReference.decode = function decode(reader, length, error) { + NetworkReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NetworkReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56537,7 +59124,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56568,9 +59155,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkReference.verify = function verify(message) { + NetworkReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -56588,9 +59179,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NetworkReference} NetworkReference */ - NetworkReference.fromObject = function fromObject(object) { + NetworkReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NetworkReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NetworkReference(); if (object.network != null) message.network = String(object.network); @@ -56673,7 +59268,7 @@ function NetworkResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56762,9 +59357,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NetworkResourceConfig.decode = function decode(reader, length, error) { + NetworkResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56772,15 +59371,15 @@ break; switch (tag >>> 3) { case 3: { - message.newNetwork = $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig.decode(reader, reader.uint32()); + message.newNetwork = $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.existingNetwork = $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig.decode(reader, reader.uint32()); + message.existingNetwork = $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56811,14 +59410,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NetworkResourceConfig.verify = function verify(message) { + NetworkResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newNetwork != null && message.hasOwnProperty("newNetwork")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig.verify(message.newNetwork); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig.verify(message.newNetwork, long + 1); if (error) return "newNetwork." + error; } @@ -56828,7 +59431,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig.verify(message.existingNetwork); + var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig.verify(message.existingNetwork, long + 1); if (error) return "existingNetwork." + error; } @@ -56844,19 +59447,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig} NetworkResourceConfig */ - NetworkResourceConfig.fromObject = function fromObject(object) { + NetworkResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig(); if (object.newNetwork != null) { if (typeof object.newNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.newNetwork: object expected"); - message.newNetwork = $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig.fromObject(object.newNetwork); + message.newNetwork = $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig.fromObject(object.newNetwork, long + 1); } if (object.existingNetwork != null) { if (typeof object.existingNetwork !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NetworkResourceConfig.existingNetwork: object expected"); - message.existingNetwork = $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig.fromObject(object.existingNetwork); + message.existingNetwork = $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig.fromObject(object.existingNetwork, long + 1); } return message; }; @@ -56937,7 +59544,7 @@ function NewNetworkConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57012,9 +59619,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewNetworkConfig.decode = function decode(reader, length, error) { + NewNetworkConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57030,7 +59641,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57061,9 +59672,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewNetworkConfig.verify = function verify(message) { + NewNetworkConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -57081,9 +59696,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewNetworkConfig} NewNetworkConfig */ - NewNetworkConfig.fromObject = function fromObject(object) { + NewNetworkConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewNetworkConfig(); if (object.network != null) message.network = String(object.network); @@ -57166,7 +59785,7 @@ function ExistingNetworkConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57241,9 +59860,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingNetworkConfig.decode = function decode(reader, length, error) { + ExistingNetworkConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57259,7 +59882,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57290,9 +59913,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingNetworkConfig.verify = function verify(message) { + ExistingNetworkConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.network != null && message.hasOwnProperty("network")) if (!$util.isString(message.network)) return "network: string expected"; @@ -57310,9 +59937,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig} ExistingNetworkConfig */ - ExistingNetworkConfig.fromObject = function fromObject(object) { + ExistingNetworkConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingNetworkConfig(); if (object.network != null) message.network = String(object.network); @@ -57397,7 +60028,7 @@ function StorageResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57506,9 +60137,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageResource.decode = function decode(reader, length, error) { + StorageResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.StorageResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57516,23 +60151,23 @@ break; switch (tag >>> 3) { case 1: { - message.filestore = $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference.decode(reader, reader.uint32()); + message.filestore = $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.bucket = $root.google.cloud.hypercomputecluster.v1beta.BucketReference.decode(reader, reader.uint32()); + message.bucket = $root.google.cloud.hypercomputecluster.v1beta.BucketReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.lustre = $root.google.cloud.hypercomputecluster.v1beta.LustreReference.decode(reader, reader.uint32()); + message.lustre = $root.google.cloud.hypercomputecluster.v1beta.LustreReference.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.config = $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57563,14 +60198,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageResource.verify = function verify(message) { + StorageResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.filestore != null && message.hasOwnProperty("filestore")) { properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference.verify(message.filestore); + var error = $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference.verify(message.filestore, long + 1); if (error) return "filestore." + error; } @@ -57580,7 +60219,7 @@ return "reference: multiple values"; properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.BucketReference.verify(message.bucket); + var error = $root.google.cloud.hypercomputecluster.v1beta.BucketReference.verify(message.bucket, long + 1); if (error) return "bucket." + error; } @@ -57590,13 +60229,13 @@ return "reference: multiple values"; properties.reference = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.LustreReference.verify(message.lustre); + var error = $root.google.cloud.hypercomputecluster.v1beta.LustreReference.verify(message.lustre, long + 1); if (error) return "lustre." + error; } } if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -57611,29 +60250,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.StorageResource} StorageResource */ - StorageResource.fromObject = function fromObject(object) { + StorageResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.StorageResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.StorageResource(); if (object.filestore != null) { if (typeof object.filestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResource.filestore: object expected"); - message.filestore = $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference.fromObject(object.filestore); + message.filestore = $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference.fromObject(object.filestore, long + 1); } if (object.bucket != null) { if (typeof object.bucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResource.bucket: object expected"); - message.bucket = $root.google.cloud.hypercomputecluster.v1beta.BucketReference.fromObject(object.bucket); + message.bucket = $root.google.cloud.hypercomputecluster.v1beta.BucketReference.fromObject(object.bucket, long + 1); } if (object.lustre != null) { if (typeof object.lustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResource.lustre: object expected"); - message.lustre = $root.google.cloud.hypercomputecluster.v1beta.LustreReference.fromObject(object.lustre); + message.lustre = $root.google.cloud.hypercomputecluster.v1beta.LustreReference.fromObject(object.lustre, long + 1); } if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -57722,7 +60365,7 @@ function FilestoreReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57787,9 +60430,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FilestoreReference.decode = function decode(reader, length, error) { + FilestoreReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57801,7 +60448,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57832,9 +60479,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FilestoreReference.verify = function verify(message) { + FilestoreReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -57849,9 +60500,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.FilestoreReference} FilestoreReference */ - FilestoreReference.fromObject = function fromObject(object) { + FilestoreReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.FilestoreReference(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -57927,7 +60582,7 @@ function BucketReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57992,9 +60647,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BucketReference.decode = function decode(reader, length, error) { + BucketReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.BucketReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58006,7 +60665,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58037,9 +60696,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BucketReference.verify = function verify(message) { + BucketReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -58054,9 +60717,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.BucketReference} BucketReference */ - BucketReference.fromObject = function fromObject(object) { + BucketReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.BucketReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.BucketReference(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -58132,7 +60799,7 @@ function LustreReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58197,9 +60864,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LustreReference.decode = function decode(reader, length, error) { + LustreReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.LustreReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58211,7 +60882,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58242,9 +60913,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LustreReference.verify = function verify(message) { + LustreReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -58259,9 +60934,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.LustreReference} LustreReference */ - LustreReference.fromObject = function fromObject(object) { + LustreReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.LustreReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.LustreReference(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -58342,7 +61021,7 @@ function StorageResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58471,9 +61150,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageResourceConfig.decode = function decode(reader, length, error) { + StorageResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58481,31 +61164,31 @@ break; switch (tag >>> 3) { case 1: { - message.newFilestore = $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig.decode(reader, reader.uint32()); + message.newFilestore = $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.existingFilestore = $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig.decode(reader, reader.uint32()); + message.existingFilestore = $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.newBucket = $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig.decode(reader, reader.uint32()); + message.newBucket = $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.existingBucket = $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig.decode(reader, reader.uint32()); + message.existingBucket = $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.newLustre = $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig.decode(reader, reader.uint32()); + message.newLustre = $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.existingLustre = $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig.decode(reader, reader.uint32()); + message.existingLustre = $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58536,14 +61219,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageResourceConfig.verify = function verify(message) { + StorageResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newFilestore != null && message.hasOwnProperty("newFilestore")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig.verify(message.newFilestore); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig.verify(message.newFilestore, long + 1); if (error) return "newFilestore." + error; } @@ -58553,7 +61240,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig.verify(message.existingFilestore); + var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig.verify(message.existingFilestore, long + 1); if (error) return "existingFilestore." + error; } @@ -58563,7 +61250,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig.verify(message.newBucket); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig.verify(message.newBucket, long + 1); if (error) return "newBucket." + error; } @@ -58573,7 +61260,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig.verify(message.existingBucket); + var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig.verify(message.existingBucket, long + 1); if (error) return "existingBucket." + error; } @@ -58583,7 +61270,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig.verify(message.newLustre); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig.verify(message.newLustre, long + 1); if (error) return "newLustre." + error; } @@ -58593,7 +61280,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig.verify(message.existingLustre); + var error = $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig.verify(message.existingLustre, long + 1); if (error) return "existingLustre." + error; } @@ -58609,39 +61296,43 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.StorageResourceConfig} StorageResourceConfig */ - StorageResourceConfig.fromObject = function fromObject(object) { + StorageResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.StorageResourceConfig(); if (object.newFilestore != null) { if (typeof object.newFilestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.newFilestore: object expected"); - message.newFilestore = $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig.fromObject(object.newFilestore); + message.newFilestore = $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig.fromObject(object.newFilestore, long + 1); } if (object.existingFilestore != null) { if (typeof object.existingFilestore !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.existingFilestore: object expected"); - message.existingFilestore = $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig.fromObject(object.existingFilestore); + message.existingFilestore = $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig.fromObject(object.existingFilestore, long + 1); } if (object.newBucket != null) { if (typeof object.newBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.newBucket: object expected"); - message.newBucket = $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig.fromObject(object.newBucket); + message.newBucket = $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig.fromObject(object.newBucket, long + 1); } if (object.existingBucket != null) { if (typeof object.existingBucket !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.existingBucket: object expected"); - message.existingBucket = $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig.fromObject(object.existingBucket); + message.existingBucket = $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig.fromObject(object.existingBucket, long + 1); } if (object.newLustre != null) { if (typeof object.newLustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.newLustre: object expected"); - message.newLustre = $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig.fromObject(object.newLustre); + message.newLustre = $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig.fromObject(object.newLustre, long + 1); } if (object.existingLustre != null) { if (typeof object.existingLustre !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.StorageResourceConfig.existingLustre: object expected"); - message.existingLustre = $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig.fromObject(object.existingLustre); + message.existingLustre = $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig.fromObject(object.existingLustre, long + 1); } return message; }; @@ -58746,7 +61437,7 @@ this.fileShares = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58852,9 +61543,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewFilestoreConfig.decode = function decode(reader, length, error) { + NewFilestoreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58872,7 +61567,7 @@ case 2: { if (!(message.fileShares && message.fileShares.length)) message.fileShares = []; - message.fileShares.push($root.google.cloud.hypercomputecluster.v1beta.FileShareConfig.decode(reader, reader.uint32())); + message.fileShares.push($root.google.cloud.hypercomputecluster.v1beta.FileShareConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -58884,7 +61579,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58915,9 +61610,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewFilestoreConfig.verify = function verify(message) { + NewFilestoreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -58928,7 +61627,7 @@ if (!Array.isArray(message.fileShares)) return "fileShares: array expected"; for (var i = 0; i < message.fileShares.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.FileShareConfig.verify(message.fileShares[i]); + var error = $root.google.cloud.hypercomputecluster.v1beta.FileShareConfig.verify(message.fileShares[i], long + 1); if (error) return "fileShares." + error; } @@ -58962,9 +61661,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig} NewFilestoreConfig */ - NewFilestoreConfig.fromObject = function fromObject(object) { + NewFilestoreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -58977,7 +61680,7 @@ for (var i = 0; i < object.fileShares.length; ++i) { if (typeof object.fileShares[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NewFilestoreConfig.fileShares: object expected"); - message.fileShares[i] = $root.google.cloud.hypercomputecluster.v1beta.FileShareConfig.fromObject(object.fileShares[i]); + message.fileShares[i] = $root.google.cloud.hypercomputecluster.v1beta.FileShareConfig.fromObject(object.fileShares[i], long + 1); } } switch (object.tier) { @@ -59142,7 +61845,7 @@ function FileShareConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59217,9 +61920,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileShareConfig.decode = function decode(reader, length, error) { + FileShareConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.FileShareConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59235,7 +61942,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59266,9 +61973,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileShareConfig.verify = function verify(message) { + FileShareConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.capacityGb != null && message.hasOwnProperty("capacityGb")) if (!$util.isInteger(message.capacityGb) && !(message.capacityGb && $util.isInteger(message.capacityGb.low) && $util.isInteger(message.capacityGb.high))) return "capacityGb: integer|Long expected"; @@ -59286,9 +61997,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.FileShareConfig} FileShareConfig */ - FileShareConfig.fromObject = function fromObject(object) { + FileShareConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.FileShareConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.FileShareConfig(); if (object.capacityGb != null) if ($util.Long) @@ -59384,7 +62099,7 @@ function ExistingFilestoreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59449,9 +62164,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingFilestoreConfig.decode = function decode(reader, length, error) { + ExistingFilestoreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59463,7 +62182,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59494,9 +62213,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingFilestoreConfig.verify = function verify(message) { + ExistingFilestoreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.filestore != null && message.hasOwnProperty("filestore")) if (!$util.isString(message.filestore)) return "filestore: string expected"; @@ -59511,9 +62234,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig} ExistingFilestoreConfig */ - ExistingFilestoreConfig.fromObject = function fromObject(object) { + ExistingFilestoreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingFilestoreConfig(); if (object.filestore != null) message.filestore = String(object.filestore); @@ -59592,7 +62319,7 @@ function NewBucketConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59701,9 +62428,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewBucketConfig.decode = function decode(reader, length, error) { + NewBucketConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59711,7 +62442,7 @@ break; switch (tag >>> 3) { case 2: { - message.autoclass = $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig.decode(reader, reader.uint32()); + message.autoclass = $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -59723,11 +62454,11 @@ break; } case 4: { - message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig.decode(reader, reader.uint32()); + message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59758,14 +62489,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewBucketConfig.verify = function verify(message) { + NewBucketConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.autoclass != null && message.hasOwnProperty("autoclass")) { properties.option = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig.verify(message.autoclass); + var error = $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig.verify(message.autoclass, long + 1); if (error) return "autoclass." + error; } @@ -59789,7 +62524,7 @@ if (!$util.isString(message.bucket)) return "bucket: string expected"; if (message.hierarchicalNamespace != null && message.hasOwnProperty("hierarchicalNamespace")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig.verify(message.hierarchicalNamespace); + var error = $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig.verify(message.hierarchicalNamespace, long + 1); if (error) return "hierarchicalNamespace." + error; } @@ -59804,14 +62539,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewBucketConfig} NewBucketConfig */ - NewBucketConfig.fromObject = function fromObject(object) { + NewBucketConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewBucketConfig(); if (object.autoclass != null) { if (typeof object.autoclass !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NewBucketConfig.autoclass: object expected"); - message.autoclass = $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig.fromObject(object.autoclass); + message.autoclass = $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig.fromObject(object.autoclass, long + 1); } switch (object.storageClass) { default: @@ -59846,7 +62585,7 @@ if (object.hierarchicalNamespace != null) { if (typeof object.hierarchicalNamespace !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NewBucketConfig.hierarchicalNamespace: object expected"); - message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig.fromObject(object.hierarchicalNamespace); + message.hierarchicalNamespace = $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig.fromObject(object.hierarchicalNamespace, long + 1); } return message; }; @@ -59955,7 +62694,7 @@ function GcsAutoclassConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60030,9 +62769,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsAutoclassConfig.decode = function decode(reader, length, error) { + GcsAutoclassConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60048,7 +62791,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60079,9 +62822,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsAutoclassConfig.verify = function verify(message) { + GcsAutoclassConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.enabled != null && message.hasOwnProperty("enabled")) if (typeof message.enabled !== "boolean") return "enabled: boolean expected"; @@ -60103,9 +62850,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig} GcsAutoclassConfig */ - GcsAutoclassConfig.fromObject = function fromObject(object) { + GcsAutoclassConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.GcsAutoclassConfig(); if (object.enabled != null) message.enabled = Boolean(object.enabled); @@ -60209,7 +62960,7 @@ function GcsHierarchicalNamespaceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60274,9 +63025,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsHierarchicalNamespaceConfig.decode = function decode(reader, length, error) { + GcsHierarchicalNamespaceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60288,7 +63043,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60319,9 +63074,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsHierarchicalNamespaceConfig.verify = function verify(message) { + GcsHierarchicalNamespaceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.enabled != null && message.hasOwnProperty("enabled")) if (typeof message.enabled !== "boolean") return "enabled: boolean expected"; @@ -60336,9 +63095,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig} GcsHierarchicalNamespaceConfig */ - GcsHierarchicalNamespaceConfig.fromObject = function fromObject(object) { + GcsHierarchicalNamespaceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.GcsHierarchicalNamespaceConfig(); if (object.enabled != null) message.enabled = Boolean(object.enabled); @@ -60414,7 +63177,7 @@ function ExistingBucketConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60479,9 +63242,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingBucketConfig.decode = function decode(reader, length, error) { + ExistingBucketConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60493,7 +63260,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60524,9 +63291,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingBucketConfig.verify = function verify(message) { + ExistingBucketConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bucket != null && message.hasOwnProperty("bucket")) if (!$util.isString(message.bucket)) return "bucket: string expected"; @@ -60541,9 +63312,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig} ExistingBucketConfig */ - ExistingBucketConfig.fromObject = function fromObject(object) { + ExistingBucketConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingBucketConfig(); if (object.bucket != null) message.bucket = String(object.bucket); @@ -60622,7 +63397,7 @@ function NewLustreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60717,9 +63492,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewLustreConfig.decode = function decode(reader, length, error) { + NewLustreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60743,7 +63522,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60774,9 +63553,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewLustreConfig.verify = function verify(message) { + NewLustreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -60800,9 +63583,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewLustreConfig} NewLustreConfig */ - NewLustreConfig.fromObject = function fromObject(object) { + NewLustreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewLustreConfig(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -60908,7 +63695,7 @@ function ExistingLustreConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60973,9 +63760,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExistingLustreConfig.decode = function decode(reader, length, error) { + ExistingLustreConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60987,7 +63778,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61018,9 +63809,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExistingLustreConfig.verify = function verify(message) { + ExistingLustreConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.lustre != null && message.hasOwnProperty("lustre")) if (!$util.isString(message.lustre)) return "lustre: string expected"; @@ -61035,9 +63830,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig} ExistingLustreConfig */ - ExistingLustreConfig.fromObject = function fromObject(object) { + ExistingLustreConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ExistingLustreConfig(); if (object.lustre != null) message.lustre = String(object.lustre); @@ -61113,7 +63912,7 @@ function ComputeResource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61178,9 +63977,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeResource.decode = function decode(reader, length, error) { + ComputeResource.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeResource(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61188,11 +63991,11 @@ break; switch (tag >>> 3) { case 6: { - message.config = $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.decode(reader, reader.uint32()); + message.config = $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61223,11 +64026,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeResource.verify = function verify(message) { + ComputeResource.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.config != null && message.hasOwnProperty("config")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.verify(message.config); + var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.verify(message.config, long + 1); if (error) return "config." + error; } @@ -61242,14 +64049,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ComputeResource} ComputeResource */ - ComputeResource.fromObject = function fromObject(object) { + ComputeResource.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ComputeResource) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeResource(); if (object.config != null) { if (typeof object.config !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ComputeResource.config: object expected"); - message.config = $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.fromObject(object.config); + message.config = $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.fromObject(object.config, long + 1); } return message; }; @@ -61326,7 +64137,7 @@ function ComputeResourceConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61435,9 +64246,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeResourceConfig.decode = function decode(reader, length, error) { + ComputeResourceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61445,23 +64260,23 @@ break; switch (tag >>> 3) { case 1: { - message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig.decode(reader, reader.uint32()); + message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig.decode(reader, reader.uint32()); + message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig.decode(reader, reader.uint32()); + message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig.decode(reader, reader.uint32()); + message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61492,14 +64307,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeResourceConfig.verify = function verify(message) { + ComputeResourceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.newOnDemandInstances != null && message.hasOwnProperty("newOnDemandInstances")) { properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig.verify(message.newOnDemandInstances); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig.verify(message.newOnDemandInstances, long + 1); if (error) return "newOnDemandInstances." + error; } @@ -61509,7 +64328,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig.verify(message.newSpotInstances); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig.verify(message.newSpotInstances, long + 1); if (error) return "newSpotInstances." + error; } @@ -61519,7 +64338,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig.verify(message.newReservedInstances); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig.verify(message.newReservedInstances, long + 1); if (error) return "newReservedInstances." + error; } @@ -61529,7 +64348,7 @@ return "config: multiple values"; properties.config = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig.verify(message.newFlexStartInstances); + var error = $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig.verify(message.newFlexStartInstances, long + 1); if (error) return "newFlexStartInstances." + error; } @@ -61545,29 +64364,33 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig} ComputeResourceConfig */ - ComputeResourceConfig.fromObject = function fromObject(object) { + ComputeResourceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig(); if (object.newOnDemandInstances != null) { if (typeof object.newOnDemandInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.newOnDemandInstances: object expected"); - message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig.fromObject(object.newOnDemandInstances); + message.newOnDemandInstances = $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig.fromObject(object.newOnDemandInstances, long + 1); } if (object.newSpotInstances != null) { if (typeof object.newSpotInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.newSpotInstances: object expected"); - message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig.fromObject(object.newSpotInstances); + message.newSpotInstances = $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig.fromObject(object.newSpotInstances, long + 1); } if (object.newReservedInstances != null) { if (typeof object.newReservedInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.newReservedInstances: object expected"); - message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig.fromObject(object.newReservedInstances); + message.newReservedInstances = $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig.fromObject(object.newReservedInstances, long + 1); } if (object.newFlexStartInstances != null) { if (typeof object.newFlexStartInstances !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ComputeResourceConfig.newFlexStartInstances: object expected"); - message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig.fromObject(object.newFlexStartInstances); + message.newFlexStartInstances = $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig.fromObject(object.newFlexStartInstances, long + 1); } return message; }; @@ -61658,7 +64481,7 @@ function NewOnDemandInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61733,9 +64556,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewOnDemandInstancesConfig.decode = function decode(reader, length, error) { + NewOnDemandInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61751,7 +64578,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61782,9 +64609,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewOnDemandInstancesConfig.verify = function verify(message) { + NewOnDemandInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -61802,9 +64633,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig} NewOnDemandInstancesConfig */ - NewOnDemandInstancesConfig.fromObject = function fromObject(object) { + NewOnDemandInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewOnDemandInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -61887,7 +64722,7 @@ function NewSpotInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61962,9 +64797,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewSpotInstancesConfig.decode = function decode(reader, length, error) { + NewSpotInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61980,7 +64819,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62011,9 +64850,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewSpotInstancesConfig.verify = function verify(message) { + NewSpotInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -62031,9 +64874,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig} NewSpotInstancesConfig */ - NewSpotInstancesConfig.fromObject = function fromObject(object) { + NewSpotInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewSpotInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -62115,7 +64962,7 @@ function NewReservedInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62194,9 +65041,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewReservedInstancesConfig.decode = function decode(reader, length, error) { + NewReservedInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62208,7 +65059,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62239,9 +65090,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewReservedInstancesConfig.verify = function verify(message) { + NewReservedInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.reservation != null && message.hasOwnProperty("reservation")) { properties.source = 1; @@ -62259,9 +65114,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig} NewReservedInstancesConfig */ - NewReservedInstancesConfig.fromObject = function fromObject(object) { + NewReservedInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewReservedInstancesConfig(); if (object.reservation != null) message.reservation = String(object.reservation); @@ -62340,7 +65199,7 @@ function NewFlexStartInstancesConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62425,9 +65284,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NewFlexStartInstancesConfig.decode = function decode(reader, length, error) { + NewFlexStartInstancesConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62443,11 +65306,11 @@ break; } case 3: { - message.maxDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62478,9 +65341,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NewFlexStartInstancesConfig.verify = function verify(message) { + NewFlexStartInstancesConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.zone != null && message.hasOwnProperty("zone")) if (!$util.isString(message.zone)) return "zone: string expected"; @@ -62488,7 +65355,7 @@ if (!$util.isString(message.machineType)) return "machineType: string expected"; if (message.maxDuration != null && message.hasOwnProperty("maxDuration")) { - var error = $root.google.protobuf.Duration.verify(message.maxDuration); + var error = $root.google.protobuf.Duration.verify(message.maxDuration, long + 1); if (error) return "maxDuration." + error; } @@ -62503,9 +65370,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig} NewFlexStartInstancesConfig */ - NewFlexStartInstancesConfig.fromObject = function fromObject(object) { + NewFlexStartInstancesConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig(); if (object.zone != null) message.zone = String(object.zone); @@ -62514,7 +65385,7 @@ if (object.maxDuration != null) { if (typeof object.maxDuration !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.NewFlexStartInstancesConfig.maxDuration: object expected"); - message.maxDuration = $root.google.protobuf.Duration.fromObject(object.maxDuration); + message.maxDuration = $root.google.protobuf.Duration.fromObject(object.maxDuration, long + 1); } return message; }; @@ -62596,7 +65467,7 @@ function BootDisk(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62671,9 +65542,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BootDisk.decode = function decode(reader, length, error) { + BootDisk.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.BootDisk(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62689,7 +65564,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62720,9 +65595,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BootDisk.verify = function verify(message) { + BootDisk.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -62740,9 +65619,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.BootDisk} BootDisk */ - BootDisk.fromObject = function fromObject(object) { + BootDisk.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.BootDisk) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.BootDisk(); if (object.type != null) message.type = String(object.type); @@ -62838,7 +65721,7 @@ function Orchestrator(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62917,9 +65800,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Orchestrator.decode = function decode(reader, length, error) { + Orchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.Orchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62927,11 +65814,11 @@ break; switch (tag >>> 3) { case 1: { - message.slurm = $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.decode(reader, reader.uint32()); + message.slurm = $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62962,14 +65849,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Orchestrator.verify = function verify(message) { + Orchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.slurm != null && message.hasOwnProperty("slurm")) { properties.option = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.verify(message.slurm); + var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.verify(message.slurm, long + 1); if (error) return "slurm." + error; } @@ -62985,14 +65876,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.Orchestrator} Orchestrator */ - Orchestrator.fromObject = function fromObject(object) { + Orchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.Orchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.Orchestrator(); if (object.slurm != null) { if (typeof object.slurm !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.Orchestrator.slurm: object expected"); - message.slurm = $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.fromObject(object.slurm); + message.slurm = $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.fromObject(object.slurm, long + 1); } return message; }; @@ -63076,7 +65971,7 @@ this.epilogBashScripts = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63195,9 +66090,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmOrchestrator.decode = function decode(reader, length, error) { + SlurmOrchestrator.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator(); while (reader.pos < end) { var tag = reader.uint32(); @@ -63205,19 +66104,19 @@ break; switch (tag >>> 3) { case 6: { - message.loginNodes = $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.decode(reader, reader.uint32()); + message.loginNodes = $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { if (!(message.nodeSets && message.nodeSets.length)) message.nodeSets = []; - message.nodeSets.push($root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.decode(reader, reader.uint32())); + message.nodeSets.push($root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.partitions && message.partitions.length)) message.partitions = []; - message.partitions.push($root.google.cloud.hypercomputecluster.v1beta.SlurmPartition.decode(reader, reader.uint32())); + message.partitions.push($root.google.cloud.hypercomputecluster.v1beta.SlurmPartition.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -63237,7 +66136,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63268,11 +66167,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmOrchestrator.verify = function verify(message) { + SlurmOrchestrator.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.loginNodes != null && message.hasOwnProperty("loginNodes")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.verify(message.loginNodes); + var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.verify(message.loginNodes, long + 1); if (error) return "loginNodes." + error; } @@ -63280,7 +66183,7 @@ if (!Array.isArray(message.nodeSets)) return "nodeSets: array expected"; for (var i = 0; i < message.nodeSets.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.verify(message.nodeSets[i]); + var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.verify(message.nodeSets[i], long + 1); if (error) return "nodeSets." + error; } @@ -63289,7 +66192,7 @@ if (!Array.isArray(message.partitions)) return "partitions: array expected"; for (var i = 0; i < message.partitions.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmPartition.verify(message.partitions[i]); + var error = $root.google.cloud.hypercomputecluster.v1beta.SlurmPartition.verify(message.partitions[i], long + 1); if (error) return "partitions." + error; } @@ -63322,14 +66225,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator} SlurmOrchestrator */ - SlurmOrchestrator.fromObject = function fromObject(object) { + SlurmOrchestrator.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator(); if (object.loginNodes != null) { if (typeof object.loginNodes !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.loginNodes: object expected"); - message.loginNodes = $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.fromObject(object.loginNodes); + message.loginNodes = $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.fromObject(object.loginNodes, long + 1); } if (object.nodeSets) { if (!Array.isArray(object.nodeSets)) @@ -63338,7 +66245,7 @@ for (var i = 0; i < object.nodeSets.length; ++i) { if (typeof object.nodeSets[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.nodeSets: object expected"); - message.nodeSets[i] = $root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.fromObject(object.nodeSets[i]); + message.nodeSets[i] = $root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.fromObject(object.nodeSets[i], long + 1); } } if (object.partitions) { @@ -63348,7 +66255,7 @@ for (var i = 0; i < object.partitions.length; ++i) { if (typeof object.partitions[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmOrchestrator.partitions: object expected"); - message.partitions[i] = $root.google.cloud.hypercomputecluster.v1beta.SlurmPartition.fromObject(object.partitions[i]); + message.partitions[i] = $root.google.cloud.hypercomputecluster.v1beta.SlurmPartition.fromObject(object.partitions[i], long + 1); } } if (object.defaultPartition != null) @@ -63475,7 +66382,7 @@ this.storageConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63605,9 +66512,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmNodeSet.decode = function decode(reader, length, error) { + SlurmNodeSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -63615,7 +66526,7 @@ break; switch (tag >>> 3) { case 17: { - message.computeInstance = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.decode(reader, reader.uint32()); + message.computeInstance = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { @@ -63629,7 +66540,7 @@ case 3: { if (!(message.storageConfigs && message.storageConfigs.length)) message.storageConfigs = []; - message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1beta.StorageConfig.decode(reader, reader.uint32())); + message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1beta.StorageConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -63641,7 +66552,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63672,14 +66583,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmNodeSet.verify = function verify(message) { + SlurmNodeSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.computeInstance != null && message.hasOwnProperty("computeInstance")) { properties.type = 1; { - var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.verify(message.computeInstance); + var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.verify(message.computeInstance, long + 1); if (error) return "computeInstance." + error; } @@ -63694,7 +66609,7 @@ if (!Array.isArray(message.storageConfigs)) return "storageConfigs: array expected"; for (var i = 0; i < message.storageConfigs.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.verify(message.storageConfigs[i]); + var error = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.verify(message.storageConfigs[i], long + 1); if (error) return "storageConfigs." + error; } @@ -63716,14 +66631,18 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.SlurmNodeSet} SlurmNodeSet */ - SlurmNodeSet.fromObject = function fromObject(object) { + SlurmNodeSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmNodeSet(); if (object.computeInstance != null) { if (typeof object.computeInstance !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.computeInstance: object expected"); - message.computeInstance = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.fromObject(object.computeInstance); + message.computeInstance = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.fromObject(object.computeInstance, long + 1); } if (object.id != null) message.id = String(object.id); @@ -63736,7 +66655,7 @@ for (var i = 0; i < object.storageConfigs.length; ++i) { if (typeof object.storageConfigs[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmNodeSet.storageConfigs: object expected"); - message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.fromObject(object.storageConfigs[i]); + message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.fromObject(object.storageConfigs[i], long + 1); } } if (object.staticNodeCount != null) @@ -63868,7 +66787,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63954,9 +66873,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeInstanceSlurmNodeSet.decode = function decode(reader, length, error) { + ComputeInstanceSlurmNodeSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -63983,19 +66906,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 3: { - message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.decode(reader, reader.uint32()); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64026,9 +66951,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeInstanceSlurmNodeSet.verify = function verify(message) { + ComputeInstanceSlurmNodeSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.startupScript != null && message.hasOwnProperty("startupScript")) if (!$util.isString(message.startupScript)) return "startupScript: string expected"; @@ -64041,7 +66970,7 @@ return "labels: string{k:string} expected"; } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.verify(message.bootDisk); + var error = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.verify(message.bootDisk, long + 1); if (error) return "bootDisk." + error; } @@ -64056,9 +66985,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet} ComputeInstanceSlurmNodeSet */ - ComputeInstanceSlurmNodeSet.fromObject = function fromObject(object) { + ComputeInstanceSlurmNodeSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet(); if (object.startupScript != null) message.startupScript = String(object.startupScript); @@ -64066,13 +66999,16 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.bootDisk != null) { if (typeof object.bootDisk !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.ComputeInstanceSlurmNodeSet.bootDisk: object expected"); - message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.fromObject(object.bootDisk); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.fromObject(object.bootDisk, long + 1); } return message; }; @@ -64101,8 +67037,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) object.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.toObject(message.bootDisk, options); @@ -64160,7 +67099,7 @@ this.nodeSetIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64236,9 +67175,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmPartition.decode = function decode(reader, length, error) { + SlurmPartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmPartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -64256,7 +67199,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64287,9 +67230,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmPartition.verify = function verify(message) { + SlurmPartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -64311,9 +67258,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.SlurmPartition} SlurmPartition */ - SlurmPartition.fromObject = function fromObject(object) { + SlurmPartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.SlurmPartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmPartition(); if (object.id != null) message.id = String(object.id); @@ -64415,7 +67366,7 @@ this.instances = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64573,9 +67524,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SlurmLoginNodes.decode = function decode(reader, length, error) { + SlurmLoginNodes.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -64622,31 +67577,33 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 12: { if (!(message.storageConfigs && message.storageConfigs.length)) message.storageConfigs = []; - message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1beta.StorageConfig.decode(reader, reader.uint32())); + message.storageConfigs.push($root.google.cloud.hypercomputecluster.v1beta.StorageConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { if (!(message.instances && message.instances.length)) message.instances = []; - message.instances.push($root.google.cloud.hypercomputecluster.v1beta.ComputeInstance.decode(reader, reader.uint32())); + message.instances.push($root.google.cloud.hypercomputecluster.v1beta.ComputeInstance.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 13: { - message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.decode(reader, reader.uint32()); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64677,9 +67634,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SlurmLoginNodes.verify = function verify(message) { + SlurmLoginNodes.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high))) return "count: integer|Long expected"; @@ -64710,7 +67671,7 @@ if (!Array.isArray(message.storageConfigs)) return "storageConfigs: array expected"; for (var i = 0; i < message.storageConfigs.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.verify(message.storageConfigs[i]); + var error = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.verify(message.storageConfigs[i], long + 1); if (error) return "storageConfigs." + error; } @@ -64719,13 +67680,13 @@ if (!Array.isArray(message.instances)) return "instances: array expected"; for (var i = 0; i < message.instances.length; ++i) { - var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstance.verify(message.instances[i]); + var error = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstance.verify(message.instances[i], long + 1); if (error) return "instances." + error; } } if (message.bootDisk != null && message.hasOwnProperty("bootDisk")) { - var error = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.verify(message.bootDisk); + var error = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.verify(message.bootDisk, long + 1); if (error) return "bootDisk." + error; } @@ -64740,9 +67701,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes} SlurmLoginNodes */ - SlurmLoginNodes.fromObject = function fromObject(object) { + SlurmLoginNodes.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes(); if (object.count != null) if ($util.Long) @@ -64767,8 +67732,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.storageConfigs) { if (!Array.isArray(object.storageConfigs)) @@ -64777,7 +67745,7 @@ for (var i = 0; i < object.storageConfigs.length; ++i) { if (typeof object.storageConfigs[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.storageConfigs: object expected"); - message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.fromObject(object.storageConfigs[i]); + message.storageConfigs[i] = $root.google.cloud.hypercomputecluster.v1beta.StorageConfig.fromObject(object.storageConfigs[i], long + 1); } } if (object.instances) { @@ -64787,13 +67755,13 @@ for (var i = 0; i < object.instances.length; ++i) { if (typeof object.instances[i] !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.instances: object expected"); - message.instances[i] = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstance.fromObject(object.instances[i]); + message.instances[i] = $root.google.cloud.hypercomputecluster.v1beta.ComputeInstance.fromObject(object.instances[i], long + 1); } } if (object.bootDisk != null) { if (typeof object.bootDisk !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.SlurmLoginNodes.bootDisk: object expected"); - message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.fromObject(object.bootDisk); + message.bootDisk = $root.google.cloud.hypercomputecluster.v1beta.BootDisk.fromObject(object.bootDisk, long + 1); } return message; }; @@ -64848,8 +67816,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.instances && message.instances.length) { object.instances = []; @@ -64916,7 +67887,7 @@ function StorageConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64991,9 +67962,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StorageConfig.decode = function decode(reader, length, error) { + StorageConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.StorageConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65009,7 +67984,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65040,9 +68015,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StorageConfig.verify = function verify(message) { + StorageConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; @@ -65060,9 +68039,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.StorageConfig} StorageConfig */ - StorageConfig.fromObject = function fromObject(object) { + StorageConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.StorageConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.StorageConfig(); if (object.id != null) message.id = String(object.id); @@ -65144,7 +68127,7 @@ function ComputeInstance(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65209,9 +68192,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ComputeInstance.decode = function decode(reader, length, error) { + ComputeInstance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeInstance(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65223,7 +68210,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65254,9 +68241,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ComputeInstance.verify = function verify(message) { + ComputeInstance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instance != null && message.hasOwnProperty("instance")) if (!$util.isString(message.instance)) return "instance: string expected"; @@ -65271,9 +68262,13 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.ComputeInstance} ComputeInstance */ - ComputeInstance.fromObject = function fromObject(object) { + ComputeInstance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.ComputeInstance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.ComputeInstance(); if (object.instance != null) message.instance = String(object.instance); @@ -65354,7 +68349,7 @@ function OperationMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65469,9 +68464,13 @@ * @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, error) { + OperationMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.hypercomputecluster.v1beta.OperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65479,11 +68478,11 @@ break; switch (tag >>> 3) { case 1: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -65503,7 +68502,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65534,16 +68533,20 @@ * @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) { + OperationMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -65570,19 +68573,23 @@ * @param {Object.} object Plain object * @returns {google.cloud.hypercomputecluster.v1beta.OperationMetadata} OperationMetadata */ - OperationMetadata.fromObject = function fromObject(object) { + OperationMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.cloud.hypercomputecluster.v1beta.OperationMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.cloud.hypercomputecluster.v1beta.OperationMetadata(); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.OperationMetadata.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.cloud.hypercomputecluster.v1beta.OperationMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.target != null) message.target = String(object.target); @@ -65700,7 +68707,7 @@ this.rules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65776,9 +68783,13 @@ * @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, error) { + Http.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65788,7 +68799,7 @@ case 1: { if (!(message.rules && message.rules.length)) message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -65796,7 +68807,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65827,14 +68838,18 @@ * @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) { + Http.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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]); + var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1); if (error) return "rules." + error; } @@ -65853,9 +68868,13 @@ * @param {Object.} object Plain object * @returns {google.api.Http} Http */ - Http.fromObject = function fromObject(object) { + Http.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Http) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Http(); if (object.rules) { if (!Array.isArray(object.rules)) @@ -65864,7 +68883,7 @@ 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]); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1); } } if (object.fullyDecodeReservedExpansion != null) @@ -65958,7 +68977,7 @@ this.additionalBindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66128,9 +69147,13 @@ * @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, error) { + HttpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66162,7 +69185,7 @@ break; } case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -66176,11 +69199,11 @@ case 11: { if (!(message.additionalBindings && message.additionalBindings.length)) message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66211,9 +69234,13 @@ * @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) { + HttpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) @@ -66256,7 +69283,7 @@ return "pattern: multiple values"; properties.pattern = 1; { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); + var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1); if (error) return "custom." + error; } @@ -66271,7 +69298,7 @@ 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]); + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1); if (error) return "additionalBindings." + error; } @@ -66287,9 +69314,13 @@ * @param {Object.} object Plain object * @returns {google.api.HttpRule} HttpRule */ - HttpRule.fromObject = function fromObject(object) { + HttpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.HttpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.HttpRule(); if (object.selector != null) message.selector = String(object.selector); @@ -66306,7 +69337,7 @@ 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); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1); } if (object.body != null) message.body = String(object.body); @@ -66319,7 +69350,7 @@ 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]); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1); } } return message; @@ -66439,7 +69470,7 @@ function CustomHttpPattern(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66514,9 +69545,13 @@ * @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, error) { + CustomHttpPattern.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66532,7 +69567,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66563,9 +69598,13 @@ * @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) { + CustomHttpPattern.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) if (!$util.isString(message.kind)) return "kind: string expected"; @@ -66583,9 +69622,13 @@ * @param {Object.} object Plain object * @returns {google.api.CustomHttpPattern} CustomHttpPattern */ - CustomHttpPattern.fromObject = function fromObject(object) { + CustomHttpPattern.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CustomHttpPattern) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CustomHttpPattern(); if (object.kind != null) message.kind = String(object.kind); @@ -66655,6 +69698,7 @@ * @interface ICommonLanguageSettings * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri * @property {Array.|null} [destinations] CommonLanguageSettings destinations + * @property {google.api.ISelectiveGapicGeneration|null} [selectiveGapicGeneration] CommonLanguageSettings selectiveGapicGeneration */ /** @@ -66669,7 +69713,7 @@ this.destinations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66689,6 +69733,14 @@ */ CommonLanguageSettings.prototype.destinations = $util.emptyArray; + /** + * CommonLanguageSettings selectiveGapicGeneration. + * @member {google.api.ISelectiveGapicGeneration|null|undefined} selectiveGapicGeneration + * @memberof google.api.CommonLanguageSettings + * @instance + */ + CommonLanguageSettings.prototype.selectiveGapicGeneration = null; + /** * Creates a new CommonLanguageSettings instance using the specified properties. * @function create @@ -66721,6 +69773,8 @@ writer.int32(message.destinations[i]); writer.ldelim(); } + if (message.selectiveGapicGeneration != null && Object.hasOwnProperty.call(message, "selectiveGapicGeneration")) + $root.google.api.SelectiveGapicGeneration.encode(message.selectiveGapicGeneration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -66748,9 +69802,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length, error) { + CommonLanguageSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66772,8 +69830,12 @@ message.destinations.push(reader.int32()); break; } + case 3: { + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66804,9 +69866,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommonLanguageSettings.verify = function verify(message) { + CommonLanguageSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) if (!$util.isString(message.referenceDocsUri)) return "referenceDocsUri: string expected"; @@ -66823,6 +69889,11 @@ break; } } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) { + var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1); + if (error) + return "selectiveGapicGeneration." + error; + } return null; }; @@ -66834,9 +69905,13 @@ * @param {Object.} object Plain object * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings */ - CommonLanguageSettings.fromObject = function fromObject(object) { + CommonLanguageSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CommonLanguageSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CommonLanguageSettings(); if (object.referenceDocsUri != null) message.referenceDocsUri = String(object.referenceDocsUri); @@ -66865,6 +69940,11 @@ break; } } + if (object.selectiveGapicGeneration != null) { + if (typeof object.selectiveGapicGeneration !== "object") + throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected"); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1); + } return message; }; @@ -66883,8 +69963,10 @@ var object = {}; if (options.arrays || options.defaults) object.destinations = []; - if (options.defaults) + if (options.defaults) { object.referenceDocsUri = ""; + object.selectiveGapicGeneration = null; + } if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) object.referenceDocsUri = message.referenceDocsUri; if (message.destinations && message.destinations.length) { @@ -66892,6 +69974,8 @@ for (var j = 0; j < message.destinations.length; ++j) object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j]; } + if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) + object.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.toObject(message.selectiveGapicGeneration, options); return object; }; @@ -66954,7 +70038,7 @@ function ClientLibrarySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67119,9 +70203,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length, error) { + ClientLibrarySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67141,39 +70229,39 @@ break; } case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67204,9 +70292,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientLibrarySettings.verify = function verify(message) { + ClientLibrarySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -67228,42 +70320,42 @@ if (typeof message.restNumericEnums !== "boolean") return "restNumericEnums: boolean expected"; if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); + var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1); if (error) return "javaSettings." + error; } if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); + var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1); if (error) return "cppSettings." + error; } if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); + var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1); if (error) return "phpSettings." + error; } if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1); if (error) return "pythonSettings." + error; } if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1); if (error) return "nodeSettings." + error; } if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1); if (error) return "dotnetSettings." + error; } if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); + var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1); if (error) return "rubySettings." + error; } if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); + var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1); if (error) return "goSettings." + error; } @@ -67278,9 +70370,13 @@ * @param {Object.} object Plain object * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings */ - ClientLibrarySettings.fromObject = function fromObject(object) { + ClientLibrarySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ClientLibrarySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ClientLibrarySettings(); if (object.version != null) message.version = String(object.version); @@ -67329,42 +70425,42 @@ if (object.javaSettings != null) { if (typeof object.javaSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1); } if (object.cppSettings != null) { if (typeof object.cppSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1); } if (object.phpSettings != null) { if (typeof object.phpSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1); } if (object.pythonSettings != null) { if (typeof object.pythonSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1); } if (object.nodeSettings != null) { if (typeof object.nodeSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1); } if (object.dotnetSettings != null) { if (typeof object.dotnetSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1); } if (object.rubySettings != null) { if (typeof object.rubySettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1); } if (object.goSettings != null) { if (typeof object.goSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1); } return message; }; @@ -67482,7 +70578,7 @@ this.librarySettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67650,9 +70746,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length, error) { + Publishing.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67662,7 +70762,7 @@ case 2: { if (!(message.methodSettings && message.methodSettings.length)) message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 101: { @@ -67698,7 +70798,7 @@ case 109: { if (!(message.librarySettings && message.librarySettings.length)) message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 110: { @@ -67710,7 +70810,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67741,14 +70841,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Publishing.verify = function verify(message) { + Publishing.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { if (!Array.isArray(message.methodSettings)) return "methodSettings: array expected"; for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1); if (error) return "methodSettings." + error; } @@ -67793,7 +70897,7 @@ if (!Array.isArray(message.librarySettings)) return "librarySettings: array expected"; for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1); if (error) return "librarySettings." + error; } @@ -67815,9 +70919,13 @@ * @param {Object.} object Plain object * @returns {google.api.Publishing} Publishing */ - Publishing.fromObject = function fromObject(object) { + Publishing.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Publishing) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Publishing(); if (object.methodSettings) { if (!Array.isArray(object.methodSettings)) @@ -67826,7 +70934,7 @@ for (var i = 0; i < object.methodSettings.length; ++i) { if (typeof object.methodSettings[i] !== "object") throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1); } } if (object.newIssueUri != null) @@ -67893,7 +71001,7 @@ for (var i = 0; i < object.librarySettings.length; ++i) { if (typeof object.librarySettings[i] !== "object") throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1); } } if (object.protoReferenceDocumentationUri != null) @@ -68017,7 +71125,7 @@ this.serviceClassNames = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68103,9 +71211,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length, error) { + JavaSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -68132,19 +71244,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.serviceClassNames, key); message.serviceClassNames[key] = value; break; } case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68175,9 +71289,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - JavaSettings.verify = function verify(message) { + JavaSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) if (!$util.isString(message.libraryPackage)) return "libraryPackage: string expected"; @@ -68190,7 +71308,7 @@ return "serviceClassNames: string{k:string} expected"; } if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -68205,9 +71323,13 @@ * @param {Object.} object Plain object * @returns {google.api.JavaSettings} JavaSettings */ - JavaSettings.fromObject = function fromObject(object) { + JavaSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.JavaSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.JavaSettings(); if (object.libraryPackage != null) message.libraryPackage = String(object.libraryPackage); @@ -68215,13 +71337,16 @@ if (typeof object.serviceClassNames !== "object") throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.serviceClassNames, keys[i]); message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } } if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -68250,8 +71375,11 @@ var keys2; if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.serviceClassNames, keys2[j]); object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); @@ -68307,7 +71435,7 @@ function CppSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68372,9 +71500,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length, error) { + CppSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68382,11 +71514,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68417,11 +71549,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CppSettings.verify = function verify(message) { + CppSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -68436,14 +71572,18 @@ * @param {Object.} object Plain object * @returns {google.api.CppSettings} CppSettings */ - CppSettings.fromObject = function fromObject(object) { + CppSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CppSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CppSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -68517,7 +71657,7 @@ function PhpSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68582,9 +71722,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length, error) { + PhpSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68592,11 +71736,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68627,11 +71771,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PhpSettings.verify = function verify(message) { + PhpSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -68646,14 +71794,18 @@ * @param {Object.} object Plain object * @returns {google.api.PhpSettings} PhpSettings */ - PhpSettings.fromObject = function fromObject(object) { + PhpSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PhpSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PhpSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -68714,6 +71866,7 @@ * @memberof google.api * @interface IPythonSettings * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common + * @property {google.api.PythonSettings.IExperimentalFeatures|null} [experimentalFeatures] PythonSettings experimentalFeatures */ /** @@ -68727,7 +71880,7 @@ function PythonSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68739,6 +71892,14 @@ */ PythonSettings.prototype.common = null; + /** + * PythonSettings experimentalFeatures. + * @member {google.api.PythonSettings.IExperimentalFeatures|null|undefined} experimentalFeatures + * @memberof google.api.PythonSettings + * @instance + */ + PythonSettings.prototype.experimentalFeatures = null; + /** * Creates a new PythonSettings instance using the specified properties. * @function create @@ -68765,6 +71926,8 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.experimentalFeatures != null && Object.hasOwnProperty.call(message, "experimentalFeatures")) + $root.google.api.PythonSettings.ExperimentalFeatures.encode(message.experimentalFeatures, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -68792,9 +71955,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length, error) { + PythonSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68802,11 +71969,15 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68837,14 +72008,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PythonSettings.verify = function verify(message) { + PythonSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) { + var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1); + if (error) + return "experimentalFeatures." + error; + } return null; }; @@ -68856,14 +72036,23 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings} PythonSettings */ - PythonSettings.fromObject = function fromObject(object) { + PythonSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.experimentalFeatures != null) { + if (typeof object.experimentalFeatures !== "object") + throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected"); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1); } return message; }; @@ -68881,10 +72070,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.common = null; + object.experimentalFeatures = null; + } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) + object.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures, options); return object; }; @@ -68914,6 +72107,270 @@ return typeUrlPrefix + "/google.api.PythonSettings"; }; + PythonSettings.ExperimentalFeatures = (function() { + + /** + * Properties of an ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @interface IExperimentalFeatures + * @property {boolean|null} [restAsyncIoEnabled] ExperimentalFeatures restAsyncIoEnabled + * @property {boolean|null} [protobufPythonicTypesEnabled] ExperimentalFeatures protobufPythonicTypesEnabled + * @property {boolean|null} [unversionedPackageDisabled] ExperimentalFeatures unversionedPackageDisabled + */ + + /** + * Constructs a new ExperimentalFeatures. + * @memberof google.api.PythonSettings + * @classdesc Represents an ExperimentalFeatures. + * @implements IExperimentalFeatures + * @constructor + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + */ + function ExperimentalFeatures(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExperimentalFeatures restAsyncIoEnabled. + * @member {boolean} restAsyncIoEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.restAsyncIoEnabled = false; + + /** + * ExperimentalFeatures protobufPythonicTypesEnabled. + * @member {boolean} protobufPythonicTypesEnabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.protobufPythonicTypesEnabled = false; + + /** + * ExperimentalFeatures unversionedPackageDisabled. + * @member {boolean} unversionedPackageDisabled + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + */ + ExperimentalFeatures.prototype.unversionedPackageDisabled = false; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @function create + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures instance + */ + ExperimentalFeatures.create = function create(properties) { + return new ExperimentalFeatures(properties); + }; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.restAsyncIoEnabled != null && Object.hasOwnProperty.call(message, "restAsyncIoEnabled")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.restAsyncIoEnabled); + if (message.protobufPythonicTypesEnabled != null && Object.hasOwnProperty.call(message, "protobufPythonicTypesEnabled")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.protobufPythonicTypesEnabled); + if (message.unversionedPackageDisabled != null && Object.hasOwnProperty.call(message, "unversionedPackageDisabled")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.unversionedPackageDisabled); + return writer; + }; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExperimentalFeatures.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @function decode + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.restAsyncIoEnabled = reader.bool(); + break; + } + case 2: { + message.protobufPythonicTypesEnabled = reader.bool(); + break; + } + case 3: { + message.unversionedPackageDisabled = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExperimentalFeatures.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExperimentalFeatures message. + * @function verify + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExperimentalFeatures.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + if (typeof message.restAsyncIoEnabled !== "boolean") + return "restAsyncIoEnabled: boolean expected"; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + if (typeof message.protobufPythonicTypesEnabled !== "boolean") + return "protobufPythonicTypesEnabled: boolean expected"; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + if (typeof message.unversionedPackageDisabled !== "boolean") + return "unversionedPackageDisabled: boolean expected"; + return null; + }; + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {Object.} object Plain object + * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures + */ + ExperimentalFeatures.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.PythonSettings.ExperimentalFeatures(); + if (object.restAsyncIoEnabled != null) + message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled); + if (object.protobufPythonicTypesEnabled != null) + message.protobufPythonicTypesEnabled = Boolean(object.protobufPythonicTypesEnabled); + if (object.unversionedPackageDisabled != null) + message.unversionedPackageDisabled = Boolean(object.unversionedPackageDisabled); + return message; + }; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {google.api.PythonSettings.ExperimentalFeatures} message ExperimentalFeatures + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExperimentalFeatures.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.restAsyncIoEnabled = false; + object.protobufPythonicTypesEnabled = false; + object.unversionedPackageDisabled = false; + } + if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) + object.restAsyncIoEnabled = message.restAsyncIoEnabled; + if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled")) + object.protobufPythonicTypesEnabled = message.protobufPythonicTypesEnabled; + if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled")) + object.unversionedPackageDisabled = message.unversionedPackageDisabled; + return object; + }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @function toJSON + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @instance + * @returns {Object.} JSON object + */ + ExperimentalFeatures.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExperimentalFeatures + * @function getTypeUrl + * @memberof google.api.PythonSettings.ExperimentalFeatures + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExperimentalFeatures.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.PythonSettings.ExperimentalFeatures"; + }; + + return ExperimentalFeatures; + })(); + return PythonSettings; })(); @@ -68937,7 +72394,7 @@ function NodeSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69002,9 +72459,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length, error) { + NodeSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69012,11 +72473,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69047,11 +72508,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeSettings.verify = function verify(message) { + NodeSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -69066,14 +72531,18 @@ * @param {Object.} object Plain object * @returns {google.api.NodeSettings} NodeSettings */ - NodeSettings.fromObject = function fromObject(object) { + NodeSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.NodeSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.NodeSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -69157,7 +72626,7 @@ this.handwrittenSignatures = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69277,9 +72746,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length, error) { + DotnetSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -69287,7 +72760,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -69306,10 +72779,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } @@ -69329,10 +72804,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedResources, key); message.renamedResources[key] = value; break; } @@ -69355,7 +72832,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69386,11 +72863,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DotnetSettings.verify = function verify(message) { + DotnetSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -69442,28 +72923,38 @@ * @param {Object.} object Plain object * @returns {google.api.DotnetSettings} DotnetSettings */ - DotnetSettings.fromObject = function fromObject(object) { + DotnetSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.DotnetSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.DotnetSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } if (object.renamedResources) { if (typeof object.renamedResources !== "object") throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedResources, keys[i]); message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } } if (object.ignoredResources) { if (!Array.isArray(object.ignoredResources)) @@ -69518,13 +73009,19 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedResources, keys2[j]); object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } } if (message.ignoredResources && message.ignoredResources.length) { object.ignoredResources = []; @@ -69593,7 +73090,7 @@ function RubySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69658,9 +73155,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length, error) { + RubySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69668,11 +73169,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69703,11 +73204,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RubySettings.verify = function verify(message) { + RubySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -69722,14 +73227,18 @@ * @param {Object.} object Plain object * @returns {google.api.RubySettings} RubySettings */ - RubySettings.fromObject = function fromObject(object) { + RubySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RubySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RubySettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -69790,6 +73299,7 @@ * @memberof google.api * @interface IGoSettings * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common + * @property {Object.|null} [renamedServices] GoSettings renamedServices */ /** @@ -69801,9 +73311,10 @@ * @param {google.api.IGoSettings=} [properties] Properties to set */ function GoSettings(properties) { + this.renamedServices = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69815,6 +73326,14 @@ */ GoSettings.prototype.common = null; + /** + * GoSettings renamedServices. + * @member {Object.} renamedServices + * @memberof google.api.GoSettings + * @instance + */ + GoSettings.prototype.renamedServices = $util.emptyObject; + /** * Creates a new GoSettings instance using the specified properties. * @function create @@ -69841,6 +73360,9 @@ writer = $Writer.create(); if (message.common != null && Object.hasOwnProperty.call(message, "common")) $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices")) + for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedServices[keys[i]]).ldelim(); return writer; }; @@ -69868,21 +73390,50 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length, error) { + GoSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 2: { + if (message.renamedServices === $util.emptyObject) + message.renamedServices = {}; + 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, long); + break; + } + } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); + message.renamedServices[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69913,14 +73464,26 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GoSettings.verify = function verify(message) { + GoSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } + if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) { + if (!$util.isObject(message.renamedServices)) + return "renamedServices: object expected"; + var key = Object.keys(message.renamedServices); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.renamedServices[key[i]])) + return "renamedServices: string{k:string} expected"; + } return null; }; @@ -69932,14 +73495,28 @@ * @param {Object.} object Plain object * @returns {google.api.GoSettings} GoSettings */ - GoSettings.fromObject = function fromObject(object) { + GoSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.GoSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.GoSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); + } + if (object.renamedServices) { + if (typeof object.renamedServices !== "object") + throw TypeError(".google.api.GoSettings.renamedServices: object expected"); + message.renamedServices = {}; + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); + message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } return message; }; @@ -69957,10 +73534,21 @@ if (!options) options = {}; var object = {}; + if (options.objects || options.defaults) + object.renamedServices = {}; if (options.defaults) object.common = null; if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + var keys2; + if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { + object.renamedServices = {}; + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); + object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } + } return object; }; @@ -70016,7 +73604,7 @@ this.autoPopulatedFields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70102,9 +73690,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length, error) { + MethodSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70116,7 +73708,7 @@ break; } case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -70126,7 +73718,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70157,14 +73749,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodSettings.verify = function verify(message) { + MethodSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) return "selector: string expected"; if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1); if (error) return "longRunning." + error; } @@ -70186,16 +73782,20 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings} MethodSettings */ - MethodSettings.fromObject = function fromObject(object) { + MethodSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings(); if (object.selector != null) message.selector = String(object.selector); if (object.longRunning != null) { if (typeof object.longRunning !== "object") throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1); } if (object.autoPopulatedFields) { if (!Array.isArray(object.autoPopulatedFields)) @@ -70287,7 +73887,7 @@ function LongRunning(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70382,9 +73982,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length, error) { + LongRunning.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70392,7 +73996,7 @@ break; switch (tag >>> 3) { case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -70400,15 +74004,15 @@ break; } case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70439,11 +74043,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LongRunning.verify = function verify(message) { + LongRunning.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1); if (error) return "initialPollDelay." + error; } @@ -70451,12 +74059,12 @@ if (typeof message.pollDelayMultiplier !== "number") return "pollDelayMultiplier: number expected"; if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1); if (error) return "maxPollDelay." + error; } if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1); if (error) return "totalPollTimeout." + error; } @@ -70471,26 +74079,30 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings.LongRunning} LongRunning */ - LongRunning.fromObject = function fromObject(object) { + LongRunning.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings.LongRunning) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings.LongRunning(); if (object.initialPollDelay != null) { if (typeof object.initialPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1); } if (object.pollDelayMultiplier != null) message.pollDelayMultiplier = Number(object.pollDelayMultiplier); if (object.maxPollDelay != null) { if (typeof object.maxPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1); } if (object.totalPollTimeout != null) { if (typeof object.totalPollTimeout !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1); } return message; }; @@ -70599,6 +74211,263 @@ return values; })(); + api.SelectiveGapicGeneration = (function() { + + /** + * Properties of a SelectiveGapicGeneration. + * @memberof google.api + * @interface ISelectiveGapicGeneration + * @property {Array.|null} [methods] SelectiveGapicGeneration methods + * @property {boolean|null} [generateOmittedAsInternal] SelectiveGapicGeneration generateOmittedAsInternal + */ + + /** + * Constructs a new SelectiveGapicGeneration. + * @memberof google.api + * @classdesc Represents a SelectiveGapicGeneration. + * @implements ISelectiveGapicGeneration + * @constructor + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + */ + function SelectiveGapicGeneration(properties) { + this.methods = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * SelectiveGapicGeneration methods. + * @member {Array.} methods + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.methods = $util.emptyArray; + + /** + * SelectiveGapicGeneration generateOmittedAsInternal. + * @member {boolean} generateOmittedAsInternal + * @memberof google.api.SelectiveGapicGeneration + * @instance + */ + SelectiveGapicGeneration.prototype.generateOmittedAsInternal = false; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @function create + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration instance + */ + SelectiveGapicGeneration.create = function create(properties) { + return new SelectiveGapicGeneration(properties); + }; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.methods != null && message.methods.length) + for (var i = 0; i < message.methods.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.methods[i]); + if (message.generateOmittedAsInternal != null && Object.hasOwnProperty.call(message, "generateOmittedAsInternal")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.generateOmittedAsInternal); + return writer; + }; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SelectiveGapicGeneration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @function decode + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.methods && message.methods.length)) + message.methods = []; + message.methods.push(reader.string()); + break; + } + case 2: { + message.generateOmittedAsInternal = reader.bool(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SelectiveGapicGeneration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SelectiveGapicGeneration message. + * @function verify + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SelectiveGapicGeneration.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.methods != null && message.hasOwnProperty("methods")) { + if (!Array.isArray(message.methods)) + return "methods: array expected"; + for (var i = 0; i < message.methods.length; ++i) + if (!$util.isString(message.methods[i])) + return "methods: string[] expected"; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + if (typeof message.generateOmittedAsInternal !== "boolean") + return "generateOmittedAsInternal: boolean expected"; + return null; + }; + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {Object.} object Plain object + * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration + */ + SelectiveGapicGeneration.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.SelectiveGapicGeneration) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.SelectiveGapicGeneration(); + if (object.methods) { + if (!Array.isArray(object.methods)) + throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected"); + message.methods = []; + for (var i = 0; i < object.methods.length; ++i) + message.methods[i] = String(object.methods[i]); + } + if (object.generateOmittedAsInternal != null) + message.generateOmittedAsInternal = Boolean(object.generateOmittedAsInternal); + return message; + }; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {google.api.SelectiveGapicGeneration} message SelectiveGapicGeneration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SelectiveGapicGeneration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.methods = []; + if (options.defaults) + object.generateOmittedAsInternal = false; + if (message.methods && message.methods.length) { + object.methods = []; + for (var j = 0; j < message.methods.length; ++j) + object.methods[j] = message.methods[j]; + } + if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal")) + object.generateOmittedAsInternal = message.generateOmittedAsInternal; + return object; + }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @function toJSON + * @memberof google.api.SelectiveGapicGeneration + * @instance + * @returns {Object.} JSON object + */ + SelectiveGapicGeneration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @function getTypeUrl + * @memberof google.api.SelectiveGapicGeneration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SelectiveGapicGeneration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.SelectiveGapicGeneration"; + }; + + return SelectiveGapicGeneration; + })(); + /** * LaunchStage enum. * @name google.api.LaunchStage @@ -70660,6 +74529,7 @@ * @memberof google.api * @interface IFieldInfo * @property {google.api.FieldInfo.Format|null} [format] FieldInfo format + * @property {Array.|null} [referencedTypes] FieldInfo referencedTypes */ /** @@ -70671,9 +74541,10 @@ * @param {google.api.IFieldInfo=} [properties] Properties to set */ function FieldInfo(properties) { + this.referencedTypes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70685,6 +74556,14 @@ */ FieldInfo.prototype.format = 0; + /** + * FieldInfo referencedTypes. + * @member {Array.} referencedTypes + * @memberof google.api.FieldInfo + * @instance + */ + FieldInfo.prototype.referencedTypes = $util.emptyArray; + /** * Creates a new FieldInfo instance using the specified properties. * @function create @@ -70711,6 +74590,9 @@ writer = $Writer.create(); if (message.format != null && Object.hasOwnProperty.call(message, "format")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.format); + if (message.referencedTypes != null && message.referencedTypes.length) + for (var i = 0; i < message.referencedTypes.length; ++i) + $root.google.api.TypeReference.encode(message.referencedTypes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -70738,9 +74620,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldInfo.decode = function decode(reader, length, error) { + FieldInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.FieldInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70751,8 +74637,14 @@ message.format = reader.int32(); break; } + case 2: { + if (!(message.referencedTypes && message.referencedTypes.length)) + message.referencedTypes = []; + message.referencedTypes.push($root.google.api.TypeReference.decode(reader, reader.uint32(), undefined, long + 1)); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70783,9 +74675,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldInfo.verify = function verify(message) { + FieldInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.format != null && message.hasOwnProperty("format")) switch (message.format) { default: @@ -70797,6 +74693,15 @@ case 4: break; } + if (message.referencedTypes != null && message.hasOwnProperty("referencedTypes")) { + if (!Array.isArray(message.referencedTypes)) + return "referencedTypes: array expected"; + for (var i = 0; i < message.referencedTypes.length; ++i) { + var error = $root.google.api.TypeReference.verify(message.referencedTypes[i], long + 1); + if (error) + return "referencedTypes." + error; + } + } return null; }; @@ -70808,9 +74713,13 @@ * @param {Object.} object Plain object * @returns {google.api.FieldInfo} FieldInfo */ - FieldInfo.fromObject = function fromObject(object) { + FieldInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.FieldInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.FieldInfo(); switch (object.format) { default: @@ -70840,6 +74749,16 @@ message.format = 4; break; } + if (object.referencedTypes) { + if (!Array.isArray(object.referencedTypes)) + throw TypeError(".google.api.FieldInfo.referencedTypes: array expected"); + message.referencedTypes = []; + for (var i = 0; i < object.referencedTypes.length; ++i) { + if (typeof object.referencedTypes[i] !== "object") + throw TypeError(".google.api.FieldInfo.referencedTypes: object expected"); + message.referencedTypes[i] = $root.google.api.TypeReference.fromObject(object.referencedTypes[i], long + 1); + } + } return message; }; @@ -70856,10 +74775,17 @@ if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.referencedTypes = []; if (options.defaults) object.format = options.enums === String ? "FORMAT_UNSPECIFIED" : 0; if (message.format != null && message.hasOwnProperty("format")) object.format = options.enums === String ? $root.google.api.FieldInfo.Format[message.format] === undefined ? message.format : $root.google.api.FieldInfo.Format[message.format] : message.format; + if (message.referencedTypes && message.referencedTypes.length) { + object.referencedTypes = []; + for (var j = 0; j < message.referencedTypes.length; ++j) + object.referencedTypes[j] = $root.google.api.TypeReference.toObject(message.referencedTypes[j], options); + } return object; }; @@ -70912,6 +74838,223 @@ return FieldInfo; })(); + api.TypeReference = (function() { + + /** + * Properties of a TypeReference. + * @memberof google.api + * @interface ITypeReference + * @property {string|null} [typeName] TypeReference typeName + */ + + /** + * Constructs a new TypeReference. + * @memberof google.api + * @classdesc Represents a TypeReference. + * @implements ITypeReference + * @constructor + * @param {google.api.ITypeReference=} [properties] Properties to set + */ + function TypeReference(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * TypeReference typeName. + * @member {string} typeName + * @memberof google.api.TypeReference + * @instance + */ + TypeReference.prototype.typeName = ""; + + /** + * Creates a new TypeReference instance using the specified properties. + * @function create + * @memberof google.api.TypeReference + * @static + * @param {google.api.ITypeReference=} [properties] Properties to set + * @returns {google.api.TypeReference} TypeReference instance + */ + TypeReference.create = function create(properties) { + return new TypeReference(properties); + }; + + /** + * Encodes the specified TypeReference message. Does not implicitly {@link google.api.TypeReference.verify|verify} messages. + * @function encode + * @memberof google.api.TypeReference + * @static + * @param {google.api.ITypeReference} message TypeReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TypeReference.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.typeName); + return writer; + }; + + /** + * Encodes the specified TypeReference message, length delimited. Does not implicitly {@link google.api.TypeReference.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.TypeReference + * @static + * @param {google.api.ITypeReference} message TypeReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TypeReference.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TypeReference message from the specified reader or buffer. + * @function decode + * @memberof google.api.TypeReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.TypeReference} TypeReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TypeReference.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.TypeReference(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.typeName = reader.string(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a TypeReference message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.TypeReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.TypeReference} TypeReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TypeReference.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TypeReference message. + * @function verify + * @memberof google.api.TypeReference + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TypeReference.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.typeName != null && message.hasOwnProperty("typeName")) + if (!$util.isString(message.typeName)) + return "typeName: string expected"; + return null; + }; + + /** + * Creates a TypeReference message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.TypeReference + * @static + * @param {Object.} object Plain object + * @returns {google.api.TypeReference} TypeReference + */ + TypeReference.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.api.TypeReference) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.api.TypeReference(); + if (object.typeName != null) + message.typeName = String(object.typeName); + return message; + }; + + /** + * Creates a plain object from a TypeReference message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.TypeReference + * @static + * @param {google.api.TypeReference} message TypeReference + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TypeReference.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.typeName = ""; + if (message.typeName != null && message.hasOwnProperty("typeName")) + object.typeName = message.typeName; + return object; + }; + + /** + * Converts this TypeReference to JSON. + * @function toJSON + * @memberof google.api.TypeReference + * @instance + * @returns {Object.} JSON object + */ + TypeReference.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TypeReference + * @function getTypeUrl + * @memberof google.api.TypeReference + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TypeReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.TypeReference"; + }; + + return TypeReference; + })(); + api.ResourceDescriptor = (function() { /** @@ -70940,7 +75083,7 @@ this.style = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71070,9 +75213,13 @@ * @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, error) { + ResourceDescriptor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -71117,7 +75264,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71148,9 +75295,13 @@ * @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) { + ResourceDescriptor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -71202,9 +75353,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceDescriptor} ResourceDescriptor */ - ResourceDescriptor.fromObject = function fromObject(object) { + ResourceDescriptor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceDescriptor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceDescriptor(); if (object.type != null) message.type = String(object.type); @@ -71392,7 +75547,7 @@ function ResourceReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71467,9 +75622,13 @@ * @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, error) { + ResourceReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -71485,7 +75644,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71516,9 +75675,13 @@ * @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) { + ResourceReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -71536,9 +75699,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceReference} ResourceReference */ - ResourceReference.fromObject = function fromObject(object) { + ResourceReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceReference(); if (object.type != null) message.type = String(object.type); @@ -71633,7 +75800,7 @@ this.file = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71699,9 +75866,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length, error) { + FileDescriptorSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -71711,11 +75882,11 @@ case 1: { if (!(message.file && message.file.length)) message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71746,14 +75917,18 @@ * @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) { + FileDescriptorSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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]); + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1); if (error) return "file." + error; } @@ -71769,9 +75944,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet */ - FileDescriptorSet.fromObject = function fromObject(object) { + FileDescriptorSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorSet(); if (object.file) { if (!Array.isArray(object.file)) @@ -71780,7 +75959,7 @@ 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]); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1); } } return message; @@ -71843,6 +76022,7 @@ * @name google.protobuf.Edition * @enum {number} * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value + * @property {number} EDITION_LEGACY=900 EDITION_LEGACY value * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value * @property {number} EDITION_2023=1000 EDITION_2023 value @@ -71857,6 +76037,7 @@ protobuf.Edition = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "EDITION_UNKNOWN"] = 0; + values[valuesById[900] = "EDITION_LEGACY"] = 900; values[valuesById[998] = "EDITION_PROTO2"] = 998; values[valuesById[999] = "EDITION_PROTO3"] = 999; values[valuesById[1000] = "EDITION_2023"] = 1000; @@ -71881,6 +76062,7 @@ * @property {Array.|null} [dependency] FileDescriptorProto dependency * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [optionDependency] FileDescriptorProto optionDependency * @property {Array.|null} [messageType] FileDescriptorProto messageType * @property {Array.|null} [enumType] FileDescriptorProto enumType * @property {Array.|null} [service] FileDescriptorProto service @@ -71903,13 +76085,14 @@ this.dependency = []; this.publicDependency = []; this.weakDependency = []; + this.optionDependency = []; this.messageType = []; this.enumType = []; this.service = []; this.extension = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71953,6 +76136,14 @@ */ FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + /** + * FileDescriptorProto optionDependency. + * @member {Array.} optionDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.optionDependency = $util.emptyArray; + /** * FileDescriptorProto messageType. * @member {Array.} messageType @@ -72074,6 +76265,9 @@ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition); + if (message.optionDependency != null && message.optionDependency.length) + for (var i = 0; i < message.optionDependency.length; ++i) + writer.uint32(/* id 15, wireType 2 =*/122).string(message.optionDependency[i]); return writer; }; @@ -72101,9 +76295,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length, error) { + FileDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72146,36 +76344,42 @@ message.weakDependency.push(reader.int32()); break; } + case 15: { + if (!(message.optionDependency && message.optionDependency.length)) + message.optionDependency = []; + message.optionDependency.push(reader.string()); + break; + } case 4: { if (!(message.messageType && message.messageType.length)) message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.service && message.service.length)) message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -72187,7 +76391,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72218,9 +76422,13 @@ * @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) { + FileDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -72248,11 +76456,18 @@ if (!$util.isInteger(message.weakDependency[i])) return "weakDependency: integer[] expected"; } + if (message.optionDependency != null && message.hasOwnProperty("optionDependency")) { + if (!Array.isArray(message.optionDependency)) + return "optionDependency: array expected"; + for (var i = 0; i < message.optionDependency.length; ++i) + if (!$util.isString(message.optionDependency[i])) + return "optionDependency: string[] expected"; + } if (message.messageType != null && message.hasOwnProperty("messageType")) { if (!Array.isArray(message.messageType)) return "messageType: array expected"; for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1); if (error) return "messageType." + error; } @@ -72261,7 +76476,7 @@ 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]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -72270,7 +76485,7 @@ 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]); + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1); if (error) return "service." + error; } @@ -72279,18 +76494,18 @@ 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]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); + var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1); if (error) return "sourceCodeInfo." + error; } @@ -72302,6 +76517,7 @@ default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -72325,9 +76541,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto */ - FileDescriptorProto.fromObject = function fromObject(object) { + FileDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -72354,6 +76574,13 @@ for (var i = 0; i < object.weakDependency.length; ++i) message.weakDependency[i] = object.weakDependency[i] | 0; } + if (object.optionDependency) { + if (!Array.isArray(object.optionDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected"); + message.optionDependency = []; + for (var i = 0; i < object.optionDependency.length; ++i) + message.optionDependency[i] = String(object.optionDependency[i]); + } if (object.messageType) { if (!Array.isArray(object.messageType)) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); @@ -72361,7 +76588,7 @@ 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]); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1); } } if (object.enumType) { @@ -72371,7 +76598,7 @@ 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]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.service) { @@ -72381,7 +76608,7 @@ 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]); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1); } } if (object.extension) { @@ -72391,18 +76618,18 @@ 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]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } 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); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1); } 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); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1); } if (object.syntax != null) message.syntax = String(object.syntax); @@ -72417,6 +76644,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -72482,6 +76713,7 @@ object.extension = []; object.publicDependency = []; object.weakDependency = []; + object.optionDependency = []; } if (options.defaults) { object.name = ""; @@ -72538,6 +76770,11 @@ object.syntax = message.syntax; if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.optionDependency && message.optionDependency.length) { + object.optionDependency = []; + for (var j = 0; j < message.optionDependency.length; ++j) + object.optionDependency[j] = message.optionDependency[j]; + } return object; }; @@ -72586,6 +76823,7 @@ * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options * @property {Array.|null} [reservedRange] DescriptorProto reservedRange * @property {Array.|null} [reservedName] DescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] DescriptorProto visibility */ /** @@ -72607,7 +76845,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72691,6 +76929,14 @@ */ DescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * DescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.visibility = 0; + /** * Creates a new DescriptorProto instance using the specified properties. * @function create @@ -72743,6 +76989,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.visibility); return writer; }; @@ -72770,9 +77018,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length, error) { + DescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72786,47 +77038,47 @@ case 2: { if (!(message.field && message.field.length)) message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nestedType && message.nestedType.length)) message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.extensionRange && message.extensionRange.length)) message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.oneofDecl && message.oneofDecl.length)) message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -72835,8 +77087,12 @@ message.reservedName.push(reader.string()); break; } + case 11: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72867,9 +77123,13 @@ * @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) { + DescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -72877,7 +77137,7 @@ 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]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1); if (error) return "field." + error; } @@ -72886,7 +77146,7 @@ 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]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } @@ -72895,7 +77155,7 @@ 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]); + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1); if (error) return "nestedType." + error; } @@ -72904,7 +77164,7 @@ 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]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -72913,7 +77173,7 @@ 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]); + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1); if (error) return "extensionRange." + error; } @@ -72922,13 +77182,13 @@ 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]); + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1); if (error) return "oneofDecl." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); + var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -72936,7 +77196,7 @@ 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]); + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -72948,6 +77208,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -72959,9 +77228,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto} DescriptorProto */ - DescriptorProto.fromObject = function fromObject(object) { + DescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -72972,7 +77245,7 @@ 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]); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1); } } if (object.extension) { @@ -72982,7 +77255,7 @@ 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]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.nestedType) { @@ -72992,7 +77265,7 @@ 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]); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1); } } if (object.enumType) { @@ -73002,7 +77275,7 @@ 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]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.extensionRange) { @@ -73012,7 +77285,7 @@ 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]); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1); } } if (object.oneofDecl) { @@ -73022,13 +77295,13 @@ 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]); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1); } } 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); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -73037,7 +77310,7 @@ 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]); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -73047,6 +77320,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -73076,6 +77369,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -73121,6 +77415,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -73172,7 +77468,7 @@ function ExtensionRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73257,9 +77553,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length, error) { + ExtensionRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -73275,11 +77575,11 @@ break; } case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73310,9 +77610,13 @@ * @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) { + ExtensionRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -73320,7 +77624,7 @@ 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); + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -73335,9 +77639,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange */ - ExtensionRange.fromObject = function fromObject(object) { + ExtensionRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); if (object.start != null) message.start = object.start | 0; @@ -73346,7 +77654,7 @@ 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); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1); } return message; }; @@ -73428,7 +77736,7 @@ function ReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73503,9 +77811,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length, error) { + ReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -73521,7 +77833,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73552,9 +77864,13 @@ * @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) { + ReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -73572,9 +77888,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange */ - ReservedRange.fromObject = function fromObject(object) { + ReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -73664,7 +77984,7 @@ this.declaration = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73761,9 +78081,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length, error) { + ExtensionRangeOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -73773,17 +78097,17 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.declaration && message.declaration.length)) message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -73791,7 +78115,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73822,14 +78146,18 @@ * @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) { + ExtensionRangeOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -73838,13 +78166,13 @@ if (!Array.isArray(message.declaration)) return "declaration: array expected"; for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1); if (error) return "declaration." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -73867,9 +78195,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions */ - ExtensionRangeOptions.fromObject = function fromObject(object) { + ExtensionRangeOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions(); if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -73878,7 +78210,7 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object.declaration) { @@ -73888,13 +78220,13 @@ for (var i = 0; i < object.declaration.length; ++i) { if (typeof object.declaration[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } switch (object.verification) { case "DECLARATION": @@ -74003,7 +78335,7 @@ function Declaration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74108,9 +78440,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length, error) { + Declaration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74138,7 +78474,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74169,9 +78505,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Declaration.verify = function verify(message) { + Declaration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.number != null && message.hasOwnProperty("number")) if (!$util.isInteger(message.number)) return "number: integer expected"; @@ -74198,9 +78538,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration */ - Declaration.fromObject = function fromObject(object) { + Declaration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); if (object.number != null) message.number = object.number | 0; @@ -74324,7 +78668,7 @@ function FieldDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74489,9 +78833,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length, error) { + FieldDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74535,7 +78883,7 @@ break; } case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { @@ -74543,7 +78891,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74574,9 +78922,13 @@ * @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) { + FieldDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -74632,7 +78984,7 @@ 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); + var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -74650,9 +79002,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto */ - FieldDescriptorProto.fromObject = function fromObject(object) { + FieldDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -74771,7 +79127,7 @@ 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); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1); } if (object.proto3Optional != null) message.proto3Optional = Boolean(object.proto3Optional); @@ -74941,7 +79297,7 @@ function OneofDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75016,9 +79372,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length, error) { + OneofDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75030,11 +79390,11 @@ break; } case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75065,14 +79425,18 @@ * @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) { + OneofDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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); + var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -75087,16 +79451,20 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto */ - OneofDescriptorProto.fromObject = function fromObject(object) { + OneofDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); 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); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1); } return message; }; @@ -75165,6 +79533,7 @@ * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + * @property {google.protobuf.SymbolVisibility|null} [visibility] EnumDescriptorProto visibility */ /** @@ -75181,7 +79550,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75225,6 +79594,14 @@ */ EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + /** + * EnumDescriptorProto visibility. + * @member {google.protobuf.SymbolVisibility} visibility + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.visibility = 0; + /** * Creates a new EnumDescriptorProto instance using the specified properties. * @function create @@ -75262,6 +79639,8 @@ if (message.reservedName != null && message.reservedName.length) for (var i = 0; i < message.reservedName.length; ++i) writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.visibility); return writer; }; @@ -75289,9 +79668,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length, error) { + EnumDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75305,17 +79688,17 @@ case 2: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -75324,8 +79707,12 @@ message.reservedName.push(reader.string()); break; } + case 6: { + message.visibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75356,9 +79743,13 @@ * @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) { + EnumDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -75366,13 +79757,13 @@ 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]); + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1); if (error) return "value." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); + var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -75380,7 +79771,7 @@ 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]); + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -75392,6 +79783,15 @@ if (!$util.isString(message.reservedName[i])) return "reservedName: string[] expected"; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + switch (message.visibility) { + default: + return "visibility: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -75403,9 +79803,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto */ - EnumDescriptorProto.fromObject = function fromObject(object) { + EnumDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -75416,13 +79820,13 @@ 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]); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1); } } 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); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -75431,7 +79835,7 @@ 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]); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -75441,6 +79845,26 @@ for (var i = 0; i < object.reservedName.length; ++i) message.reservedName[i] = String(object.reservedName[i]); } + switch (object.visibility) { + default: + if (typeof object.visibility === "number") { + message.visibility = object.visibility; + break; + } + break; + case "VISIBILITY_UNSET": + case 0: + message.visibility = 0; + break; + case "VISIBILITY_LOCAL": + case 1: + message.visibility = 1; + break; + case "VISIBILITY_EXPORT": + case 2: + message.visibility = 2; + break; + } return message; }; @@ -75465,6 +79889,7 @@ if (options.defaults) { object.name = ""; object.options = null; + object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -75485,6 +79910,8 @@ for (var j = 0; j < message.reservedName.length; ++j) object.reservedName[j] = message.reservedName[j]; } + if (message.visibility != null && message.hasOwnProperty("visibility")) + object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility; return object; }; @@ -75535,7 +79962,7 @@ function EnumReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75610,9 +80037,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length, error) { + EnumReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75628,7 +80059,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75659,9 +80090,13 @@ * @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) { + EnumReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -75679,9 +80114,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange */ - EnumReservedRange.fromObject = function fromObject(object) { + EnumReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -75768,7 +80207,7 @@ function EnumValueDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75853,9 +80292,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length, error) { + EnumValueDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75871,11 +80314,11 @@ break; } case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75906,9 +80349,13 @@ * @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) { + EnumValueDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -75916,7 +80363,7 @@ 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); + var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -75931,9 +80378,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { + EnumValueDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -75942,7 +80393,7 @@ 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); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1); } return message; }; @@ -76026,7 +80477,7 @@ this.method = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -76112,9 +80563,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length, error) { + ServiceDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -76128,15 +80583,15 @@ case 2: { if (!(message.method && message.method.length)) message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -76167,9 +80622,13 @@ * @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) { + ServiceDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -76177,13 +80636,13 @@ 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]); + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1); if (error) return "method." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); + var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -76198,9 +80657,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto */ - ServiceDescriptorProto.fromObject = function fromObject(object) { + ServiceDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -76211,13 +80674,13 @@ 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]); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1); } } 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); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1); } return message; }; @@ -76307,7 +80770,7 @@ function MethodDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -76422,9 +80885,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length, error) { + MethodDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -76444,7 +80911,7 @@ break; } case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -76456,7 +80923,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -76487,9 +80954,13 @@ * @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) { + MethodDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -76500,7 +80971,7 @@ 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); + var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -76521,9 +80992,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto */ - MethodDescriptorProto.fromObject = function fromObject(object) { + MethodDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -76534,7 +81009,7 @@ 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); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1); } if (object.clientStreaming != null) message.clientStreaming = Boolean(object.clientStreaming); @@ -76651,7 +81126,7 @@ this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -76928,9 +81403,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length, error) { + FileOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77014,23 +81493,23 @@ break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); 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())); + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77061,9 +81540,13 @@ * @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) { + FileOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) if (!$util.isString(message.javaPackage)) return "javaPackage: string expected"; @@ -77128,7 +81611,7 @@ if (!$util.isString(message.rubyPackage)) return "rubyPackage: string expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -77136,7 +81619,7 @@ 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]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -77145,7 +81628,7 @@ 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]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1); if (error) return ".google.api.resourceDefinition." + error; } @@ -77161,9 +81644,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileOptions} FileOptions */ - FileOptions.fromObject = function fromObject(object) { + FileOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileOptions(); if (object.javaPackage != null) message.javaPackage = String(object.javaPackage); @@ -77224,7 +81711,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -77233,7 +81720,7 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceDefinition"]) { @@ -77243,7 +81730,7 @@ 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]); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1); } } return message; @@ -77414,7 +81901,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77550,9 +82037,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length, error) { + MessageOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77580,21 +82071,21 @@ break; } case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77625,9 +82116,13 @@ * @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) { + MessageOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) if (typeof message.messageSetWireFormat !== "boolean") return "messageSetWireFormat: boolean expected"; @@ -77644,7 +82139,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -77652,13 +82147,13 @@ 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]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); 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"]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1); if (error) return ".google.api.resource." + error; } @@ -77673,9 +82168,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MessageOptions} MessageOptions */ - MessageOptions.fromObject = function fromObject(object) { + MessageOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MessageOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MessageOptions(); if (object.messageSetWireFormat != null) message.messageSetWireFormat = Boolean(object.messageSetWireFormat); @@ -77690,7 +82189,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -77699,13 +82198,13 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } 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"]); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1); } return message; }; @@ -77803,6 +82302,7 @@ * @property {Array.|null} [targets] FieldOptions targets * @property {Array.|null} [editionDefaults] FieldOptions editionDefaults * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] FieldOptions featureSupport * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior * @property {google.api.IFieldInfo|null} [".google.api.fieldInfo"] FieldOptions .google.api.fieldInfo @@ -77824,7 +82324,7 @@ this[".google.api.fieldBehavior"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77924,6 +82424,14 @@ */ FieldOptions.prototype.features = null; + /** + * FieldOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.featureSupport = null; + /** * FieldOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -78006,6 +82514,8 @@ $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.features != null && Object.hasOwnProperty.call(message, "features")) $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -78043,9 +82553,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length, error) { + FieldOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78102,17 +82616,21 @@ case 20: { if (!(message.editionDefaults && message.editionDefaults.length)) message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 22: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1052: { @@ -78127,15 +82645,15 @@ break; } case 291403980: { - message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.decode(reader, reader.uint32()); + message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78166,9 +82684,13 @@ * @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) { + FieldOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ctype != null && message.hasOwnProperty("ctype")) switch (message.ctype) { default: @@ -78238,21 +82760,26 @@ if (!Array.isArray(message.editionDefaults)) return "editionDefaults: array expected"; for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1); if (error) return "editionDefaults." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -78277,12 +82804,12 @@ } } if (message[".google.api.fieldInfo"] != null && message.hasOwnProperty(".google.api.fieldInfo")) { - var error = $root.google.api.FieldInfo.verify(message[".google.api.fieldInfo"]); + var error = $root.google.api.FieldInfo.verify(message[".google.api.fieldInfo"], long + 1); if (error) return ".google.api.fieldInfo." + error; } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1); if (error) return ".google.api.resourceReference." + error; } @@ -78297,9 +82824,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions} FieldOptions */ - FieldOptions.fromObject = function fromObject(object) { + FieldOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { default: @@ -78433,13 +82964,18 @@ for (var i = 0; i < object.editionDefaults.length; ++i) { if (typeof object.editionDefaults[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); + } + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -78448,7 +82984,7 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.fieldBehavior"]) { @@ -78503,12 +83039,12 @@ if (object[".google.api.fieldInfo"] != null) { if (typeof object[".google.api.fieldInfo"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.fieldInfo: object expected"); - message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.fromObject(object[".google.api.fieldInfo"]); + message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.fromObject(object[".google.api.fieldInfo"], long + 1); } 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"]); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1); } return message; }; @@ -78543,6 +83079,7 @@ object.debugRedact = false; object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0; object.features = null; + object.featureSupport = null; object[".google.api.resourceReference"] = null; object[".google.api.fieldInfo"] = null; } @@ -78576,6 +83113,8 @@ } if (message.features != null && message.hasOwnProperty("features")) object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -78718,7 +83257,7 @@ function EditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78793,9 +83332,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length, error) { + EditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78811,7 +83354,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78842,14 +83385,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EditionDefault.verify = function verify(message) { + EditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -78876,9 +83424,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault */ - EditionDefault.fromObject = function fromObject(object) { + EditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.EditionDefault(); switch (object.edition) { default: @@ -78891,6 +83443,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -78990,6 +83546,500 @@ return EditionDefault; })(); + FieldOptions.FeatureSupport = (function() { + + /** + * Properties of a FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @interface IFeatureSupport + * @property {google.protobuf.Edition|null} [editionIntroduced] FeatureSupport editionIntroduced + * @property {google.protobuf.Edition|null} [editionDeprecated] FeatureSupport editionDeprecated + * @property {string|null} [deprecationWarning] FeatureSupport deprecationWarning + * @property {google.protobuf.Edition|null} [editionRemoved] FeatureSupport editionRemoved + */ + + /** + * Constructs a new FeatureSupport. + * @memberof google.protobuf.FieldOptions + * @classdesc Represents a FeatureSupport. + * @implements IFeatureSupport + * @constructor + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + */ + function FeatureSupport(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * FeatureSupport editionIntroduced. + * @member {google.protobuf.Edition} editionIntroduced + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionIntroduced = 0; + + /** + * FeatureSupport editionDeprecated. + * @member {google.protobuf.Edition} editionDeprecated + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionDeprecated = 0; + + /** + * FeatureSupport deprecationWarning. + * @member {string} deprecationWarning + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.deprecationWarning = ""; + + /** + * FeatureSupport editionRemoved. + * @member {google.protobuf.Edition} editionRemoved + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + */ + FeatureSupport.prototype.editionRemoved = 0; + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport instance + */ + FeatureSupport.create = function create(properties) { + return new FeatureSupport(properties); + }; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.editionIntroduced != null && Object.hasOwnProperty.call(message, "editionIntroduced")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.editionIntroduced); + if (message.editionDeprecated != null && Object.hasOwnProperty.call(message, "editionDeprecated")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.editionDeprecated); + if (message.deprecationWarning != null && Object.hasOwnProperty.call(message, "deprecationWarning")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.deprecationWarning); + if (message.editionRemoved != null && Object.hasOwnProperty.call(message, "editionRemoved")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.editionRemoved); + return writer; + }; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSupport.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.editionIntroduced = reader.int32(); + break; + } + case 2: { + message.editionDeprecated = reader.int32(); + break; + } + case 3: { + message.deprecationWarning = reader.string(); + break; + } + case 4: { + message.editionRemoved = reader.int32(); + break; + } + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSupport.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FeatureSupport message. + * @function verify + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FeatureSupport.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + switch (message.editionIntroduced) { + default: + return "editionIntroduced: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + switch (message.editionDeprecated) { + default: + return "editionDeprecated: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + if (!$util.isString(message.deprecationWarning)) + return "deprecationWarning: string expected"; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + switch (message.editionRemoved) { + default: + return "editionRemoved: enum value expected"; + case 0: + case 900: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + return null; + }; + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport + */ + FeatureSupport.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var message = new $root.google.protobuf.FieldOptions.FeatureSupport(); + switch (object.editionIntroduced) { + default: + if (typeof object.editionIntroduced === "number") { + message.editionIntroduced = object.editionIntroduced; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionIntroduced = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionIntroduced = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionIntroduced = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionIntroduced = 999; + break; + case "EDITION_2023": + case 1000: + message.editionIntroduced = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionIntroduced = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionIntroduced = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionIntroduced = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionIntroduced = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionIntroduced = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionIntroduced = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionIntroduced = 2147483647; + break; + } + switch (object.editionDeprecated) { + default: + if (typeof object.editionDeprecated === "number") { + message.editionDeprecated = object.editionDeprecated; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionDeprecated = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionDeprecated = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionDeprecated = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionDeprecated = 999; + break; + case "EDITION_2023": + case 1000: + message.editionDeprecated = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionDeprecated = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionDeprecated = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionDeprecated = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionDeprecated = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionDeprecated = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionDeprecated = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionDeprecated = 2147483647; + break; + } + if (object.deprecationWarning != null) + message.deprecationWarning = String(object.deprecationWarning); + switch (object.editionRemoved) { + default: + if (typeof object.editionRemoved === "number") { + message.editionRemoved = object.editionRemoved; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.editionRemoved = 0; + break; + case "EDITION_LEGACY": + case 900: + message.editionRemoved = 900; + break; + case "EDITION_PROTO2": + case 998: + message.editionRemoved = 998; + break; + case "EDITION_PROTO3": + case 999: + message.editionRemoved = 999; + break; + case "EDITION_2023": + case 1000: + message.editionRemoved = 1000; + break; + case "EDITION_2024": + case 1001: + message.editionRemoved = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.editionRemoved = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.editionRemoved = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.editionRemoved = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.editionRemoved = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.editionRemoved = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.editionRemoved = 2147483647; + break; + } + return message; + }; + + /** + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {google.protobuf.FieldOptions.FeatureSupport} message FeatureSupport + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FeatureSupport.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.editionIntroduced = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.editionDeprecated = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.deprecationWarning = ""; + object.editionRemoved = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) + object.editionIntroduced = options.enums === String ? $root.google.protobuf.Edition[message.editionIntroduced] === undefined ? message.editionIntroduced : $root.google.protobuf.Edition[message.editionIntroduced] : message.editionIntroduced; + if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated")) + object.editionDeprecated = options.enums === String ? $root.google.protobuf.Edition[message.editionDeprecated] === undefined ? message.editionDeprecated : $root.google.protobuf.Edition[message.editionDeprecated] : message.editionDeprecated; + if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning")) + object.deprecationWarning = message.deprecationWarning; + if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved")) + object.editionRemoved = options.enums === String ? $root.google.protobuf.Edition[message.editionRemoved] === undefined ? message.editionRemoved : $root.google.protobuf.Edition[message.editionRemoved] : message.editionRemoved; + return object; + }; + + /** + * Converts this FeatureSupport to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @instance + * @returns {Object.} JSON object + */ + FeatureSupport.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FeatureSupport + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions.FeatureSupport + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FeatureSupport.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions.FeatureSupport"; + }; + + return FeatureSupport; + })(); + return FieldOptions; })(); @@ -79015,7 +84065,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79091,9 +84141,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length, error) { + OneofOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -79101,17 +84155,17 @@ break; switch (tag >>> 3) { case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79142,11 +84196,15 @@ * @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) { + OneofOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -79154,7 +84212,7 @@ 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]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -79170,14 +84228,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofOptions} OneofOptions */ - OneofOptions.fromObject = function fromObject(object) { + OneofOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -79186,7 +84248,7 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -79273,7 +84335,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79379,9 +84441,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length, error) { + EnumOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -79401,17 +84467,17 @@ break; } case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79442,9 +84508,13 @@ * @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) { + EnumOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) if (typeof message.allowAlias !== "boolean") return "allowAlias: boolean expected"; @@ -79455,7 +84525,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -79463,7 +84533,7 @@ 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]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -79479,9 +84549,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumOptions} EnumOptions */ - EnumOptions.fromObject = function fromObject(object) { + EnumOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumOptions(); if (object.allowAlias != null) message.allowAlias = Boolean(object.allowAlias); @@ -79492,7 +84566,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -79501,7 +84575,7 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -79582,6 +84656,7 @@ * @property {boolean|null} [deprecated] EnumValueOptions deprecated * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact + * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] EnumValueOptions featureSupport * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption */ @@ -79597,7 +84672,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79625,6 +84700,14 @@ */ EnumValueOptions.prototype.debugRedact = false; + /** + * EnumValueOptions featureSupport. + * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.featureSupport = null; + /** * EnumValueOptions uninterpretedOption. * @member {Array.} uninterpretedOption @@ -79663,6 +84746,8 @@ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact); + if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport")) + $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -79693,9 +84778,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length, error) { + EnumValueOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -79707,21 +84796,25 @@ break; } case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { message.debugRedact = reader.bool(); break; } + case 4: { + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); + break; + } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79752,25 +84845,34 @@ * @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) { + EnumValueOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) if (typeof message.debugRedact !== "boolean") return "debugRedact: boolean expected"; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); + if (error) + return "featureSupport." + error; + } if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -79786,19 +84888,28 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - EnumValueOptions.fromObject = function fromObject(object) { + EnumValueOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.debugRedact != null) message.debugRedact = Boolean(object.debugRedact); + if (object.featureSupport != null) { + if (typeof object.featureSupport !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected"); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); + } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); @@ -79806,7 +84917,7 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -79831,6 +84942,7 @@ object.deprecated = false; object.features = null; object.debugRedact = false; + object.featureSupport = null; } if (message.deprecated != null && message.hasOwnProperty("deprecated")) object.deprecated = message.deprecated; @@ -79838,6 +84950,8 @@ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) object.debugRedact = message.debugRedact; + if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) + object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options); if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -79901,7 +85015,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80017,9 +85131,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length, error) { + ServiceOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80027,7 +85145,7 @@ break; switch (tag >>> 3) { case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 33: { @@ -80037,7 +85155,7 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1049: { @@ -80053,7 +85171,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80084,11 +85202,15 @@ * @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) { + ServiceOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -80099,7 +85221,7 @@ 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]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -80124,14 +85246,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceOptions} ServiceOptions */ - ServiceOptions.fromObject = function fromObject(object) { + ServiceOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -80142,7 +85268,7 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.defaultHost"] != null) @@ -80251,7 +85377,7 @@ this[".google.api.methodSignature"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80378,9 +85504,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length, error) { + MethodOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80396,17 +85526,17 @@ break; } case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1051: { @@ -80416,11 +85546,11 @@ break; } case 1049: { - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80451,9 +85581,13 @@ * @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) { + MethodOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -80467,7 +85601,7 @@ break; } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -80475,13 +85609,13 @@ 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]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); 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"]); + var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1); if (error) return ".google.api.http." + error; } @@ -80493,7 +85627,7 @@ 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"]); + var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"], long + 1); if (error) return ".google.longrunning.operationInfo." + error; } @@ -80508,9 +85642,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodOptions} MethodOptions */ - MethodOptions.fromObject = function fromObject(object) { + MethodOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -80537,7 +85675,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -80546,13 +85684,13 @@ 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]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } 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"]); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1); } if (object[".google.api.methodSignature"]) { if (!Array.isArray(object[".google.api.methodSignature"])) @@ -80564,7 +85702,7 @@ 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"]); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"], long + 1); } return message; }; @@ -80688,7 +85826,7 @@ this.name = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80814,9 +85952,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length, error) { + UninterpretedOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80826,7 +85968,7 @@ case 2: { if (!(message.name && message.name.length)) message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -80854,7 +85996,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80885,14 +86027,18 @@ * @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) { + UninterpretedOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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]); + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1); if (error) return "name." + error; } @@ -80926,9 +86072,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - UninterpretedOption.fromObject = function fromObject(object) { + UninterpretedOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption(); if (object.name) { if (!Array.isArray(object.name)) @@ -80937,7 +86087,7 @@ 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]); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1); } } if (object.identifierValue != null) @@ -81082,7 +86232,7 @@ function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81155,9 +86305,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length, error) { + NamePart.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81173,7 +86327,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81208,9 +86362,13 @@ * @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) { + NamePart.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (!$util.isString(message.namePart)) return "namePart: string expected"; if (typeof message.isExtension !== "boolean") @@ -81226,9 +86384,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - NamePart.fromObject = function fromObject(object) { + NamePart.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption.NamePart(); if (object.namePart != null) message.namePart = String(object.namePart); @@ -81305,6 +86467,8 @@ * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat + * @property {google.protobuf.FeatureSet.EnforceNamingStyle|null} [enforceNamingStyle] FeatureSet enforceNamingStyle + * @property {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null} [defaultSymbolVisibility] FeatureSet defaultSymbolVisibility */ /** @@ -81318,7 +86482,7 @@ function FeatureSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81370,6 +86534,22 @@ */ FeatureSet.prototype.jsonFormat = 0; + /** + * FeatureSet enforceNamingStyle. + * @member {google.protobuf.FeatureSet.EnforceNamingStyle} enforceNamingStyle + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.enforceNamingStyle = 0; + + /** + * FeatureSet defaultSymbolVisibility. + * @member {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility} defaultSymbolVisibility + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.defaultSymbolVisibility = 0; + /** * Creates a new FeatureSet instance using the specified properties. * @function create @@ -81406,6 +86586,10 @@ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding); if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat); + if (message.enforceNamingStyle != null && Object.hasOwnProperty.call(message, "enforceNamingStyle")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.enforceNamingStyle); + if (message.defaultSymbolVisibility != null && Object.hasOwnProperty.call(message, "defaultSymbolVisibility")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.defaultSymbolVisibility); return writer; }; @@ -81433,9 +86617,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length, error) { + FeatureSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81466,8 +86654,16 @@ message.jsonFormat = reader.int32(); break; } + case 7: { + message.enforceNamingStyle = reader.int32(); + break; + } + case 8: { + message.defaultSymbolVisibility = reader.int32(); + break; + } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81498,9 +86694,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSet.verify = function verify(message) { + FeatureSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) switch (message.fieldPresence) { default: @@ -81556,6 +86756,26 @@ case 2: break; } + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + switch (message.enforceNamingStyle) { + default: + return "enforceNamingStyle: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + switch (message.defaultSymbolVisibility) { + default: + return "defaultSymbolVisibility: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } return null; }; @@ -81567,9 +86787,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet} FeatureSet */ - FeatureSet.fromObject = function fromObject(object) { + FeatureSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSet(); switch (object.fieldPresence) { default: @@ -81695,6 +86919,54 @@ message.jsonFormat = 2; break; } + switch (object.enforceNamingStyle) { + default: + if (typeof object.enforceNamingStyle === "number") { + message.enforceNamingStyle = object.enforceNamingStyle; + break; + } + break; + case "ENFORCE_NAMING_STYLE_UNKNOWN": + case 0: + message.enforceNamingStyle = 0; + break; + case "STYLE2024": + case 1: + message.enforceNamingStyle = 1; + break; + case "STYLE_LEGACY": + case 2: + message.enforceNamingStyle = 2; + break; + } + switch (object.defaultSymbolVisibility) { + default: + if (typeof object.defaultSymbolVisibility === "number") { + message.defaultSymbolVisibility = object.defaultSymbolVisibility; + break; + } + break; + case "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": + case 0: + message.defaultSymbolVisibility = 0; + break; + case "EXPORT_ALL": + case 1: + message.defaultSymbolVisibility = 1; + break; + case "EXPORT_TOP_LEVEL": + case 2: + message.defaultSymbolVisibility = 2; + break; + case "LOCAL_ALL": + case 3: + message.defaultSymbolVisibility = 3; + break; + case "STRICT": + case 4: + message.defaultSymbolVisibility = 4; + break; + } return message; }; @@ -81718,6 +86990,8 @@ object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0; object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0; object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0; + object.enforceNamingStyle = options.enums === String ? "ENFORCE_NAMING_STYLE_UNKNOWN" : 0; + object.defaultSymbolVisibility = options.enums === String ? "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" : 0; } if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence; @@ -81731,6 +87005,10 @@ object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding; if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat; + if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle")) + object.enforceNamingStyle = options.enums === String ? $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] === undefined ? message.enforceNamingStyle : $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] : message.enforceNamingStyle; + if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility")) + object.defaultSymbolVisibility = options.enums === String ? $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] === undefined ? message.defaultSymbolVisibility : $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] : message.defaultSymbolVisibility; return object; }; @@ -81858,6 +87136,231 @@ return values; })(); + /** + * EnforceNamingStyle enum. + * @name google.protobuf.FeatureSet.EnforceNamingStyle + * @enum {number} + * @property {number} ENFORCE_NAMING_STYLE_UNKNOWN=0 ENFORCE_NAMING_STYLE_UNKNOWN value + * @property {number} STYLE2024=1 STYLE2024 value + * @property {number} STYLE_LEGACY=2 STYLE_LEGACY value + */ + FeatureSet.EnforceNamingStyle = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ENFORCE_NAMING_STYLE_UNKNOWN"] = 0; + values[valuesById[1] = "STYLE2024"] = 1; + values[valuesById[2] = "STYLE_LEGACY"] = 2; + return values; + })(); + + FeatureSet.VisibilityFeature = (function() { + + /** + * Properties of a VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @interface IVisibilityFeature + */ + + /** + * Constructs a new VisibilityFeature. + * @memberof google.protobuf.FeatureSet + * @classdesc Represents a VisibilityFeature. + * @implements IVisibilityFeature + * @constructor + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + */ + function VisibilityFeature(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null && keys[i] !== "__proto__") + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @function create + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature instance + */ + VisibilityFeature.create = function create(properties) { + return new VisibilityFeature(properties); + }; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VisibilityFeature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decode = function decode(reader, length, error, long) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7, long); + break; + } + } + return message; + }; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VisibilityFeature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VisibilityFeature message. + * @function verify + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VisibilityFeature.verify = function verify(message, long) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; + return null; + }; + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature + */ + VisibilityFeature.fromObject = function fromObject(object, long) { + if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature) + return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); + return new $root.google.protobuf.FeatureSet.VisibilityFeature(); + }; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {google.protobuf.FeatureSet.VisibilityFeature} message VisibilityFeature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VisibilityFeature.toObject = function toObject() { + return {}; + }; + + /** + * Converts this VisibilityFeature to JSON. + * @function toJSON + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @instance + * @returns {Object.} JSON object + */ + VisibilityFeature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for VisibilityFeature + * @function getTypeUrl + * @memberof google.protobuf.FeatureSet.VisibilityFeature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VisibilityFeature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FeatureSet.VisibilityFeature"; + }; + + /** + * DefaultSymbolVisibility enum. + * @name google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility + * @enum {number} + * @property {number} DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0 DEFAULT_SYMBOL_VISIBILITY_UNKNOWN value + * @property {number} EXPORT_ALL=1 EXPORT_ALL value + * @property {number} EXPORT_TOP_LEVEL=2 EXPORT_TOP_LEVEL value + * @property {number} LOCAL_ALL=3 LOCAL_ALL value + * @property {number} STRICT=4 STRICT value + */ + VisibilityFeature.DefaultSymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"] = 0; + values[valuesById[1] = "EXPORT_ALL"] = 1; + values[valuesById[2] = "EXPORT_TOP_LEVEL"] = 2; + values[valuesById[3] = "LOCAL_ALL"] = 3; + values[valuesById[4] = "STRICT"] = 4; + return values; + })(); + + return VisibilityFeature; + })(); + return FeatureSet; })(); @@ -81884,7 +87387,7 @@ this.defaults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81970,9 +87473,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length, error) { + FeatureSetDefaults.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81982,7 +87489,7 @@ case 1: { if (!(message.defaults && message.defaults.length)) message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -81994,7 +87501,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82025,14 +87532,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetDefaults.verify = function verify(message) { + FeatureSetDefaults.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.defaults != null && message.hasOwnProperty("defaults")) { if (!Array.isArray(message.defaults)) return "defaults: array expected"; for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1); if (error) return "defaults." + error; } @@ -82042,6 +87553,7 @@ default: return "minimumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -82059,6 +87571,7 @@ default: return "maximumEdition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -82082,9 +87595,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults */ - FeatureSetDefaults.fromObject = function fromObject(object) { + FeatureSetDefaults.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults(); if (object.defaults) { if (!Array.isArray(object.defaults)) @@ -82093,7 +87610,7 @@ for (var i = 0; i < object.defaults.length; ++i) { if (typeof object.defaults[i] !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1); } } switch (object.minimumEdition) { @@ -82107,6 +87624,10 @@ case 0: message.minimumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.minimumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.minimumEdition = 998; @@ -82159,6 +87680,10 @@ case 0: message.maximumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.maximumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.maximumEdition = 998; @@ -82267,7 +87792,8 @@ * @memberof google.protobuf.FeatureSetDefaults * @interface IFeatureSetEditionDefault * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features + * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures + * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures */ /** @@ -82281,7 +87807,7 @@ function FeatureSetEditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82294,12 +87820,20 @@ FeatureSetEditionDefault.prototype.edition = 0; /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features + * FeatureSetEditionDefault overridableFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} overridableFeatures + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @instance + */ + FeatureSetEditionDefault.prototype.overridableFeatures = null; + + /** + * FeatureSetEditionDefault fixedFeatures. + * @member {google.protobuf.IFeatureSet|null|undefined} fixedFeatures * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault * @instance */ - FeatureSetEditionDefault.prototype.features = null; + FeatureSetEditionDefault.prototype.fixedFeatures = null; /** * Creates a new FeatureSetEditionDefault instance using the specified properties. @@ -82325,10 +87859,12 @@ FeatureSetEditionDefault.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); + if (message.overridableFeatures != null && Object.hasOwnProperty.call(message, "overridableFeatures")) + $root.google.protobuf.FeatureSet.encode(message.overridableFeatures, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.fixedFeatures != null && Object.hasOwnProperty.call(message, "fixedFeatures")) + $root.google.protobuf.FeatureSet.encode(message.fixedFeatures, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -82356,9 +87892,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length, error) { + FeatureSetEditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82369,12 +87909,16 @@ message.edition = reader.int32(); break; } - case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + case 4: { + message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); + break; + } + case 5: { + message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82405,14 +87949,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetEditionDefault.verify = function verify(message) { + FeatureSetEditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: return "edition: enum value expected"; case 0: + case 900: case 998: case 999: case 1000: @@ -82425,10 +87974,15 @@ case 2147483647: break; } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1); + if (error) + return "overridableFeatures." + error; + } + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) { + var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1); if (error) - return "features." + error; + return "fixedFeatures." + error; } return null; }; @@ -82441,9 +87995,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { + FeatureSetEditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); switch (object.edition) { default: @@ -82456,6 +88014,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -82497,10 +88059,15 @@ message.edition = 2147483647; break; } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + if (object.overridableFeatures != null) { + if (typeof object.overridableFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected"); + message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1); + } + if (object.fixedFeatures != null) { + if (typeof object.fixedFeatures !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); + message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1); } return message; }; @@ -82519,13 +88086,16 @@ options = {}; var object = {}; if (options.defaults) { - object.features = null; object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.overridableFeatures = null; + object.fixedFeatures = null; } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) + object.overridableFeatures = $root.google.protobuf.FeatureSet.toObject(message.overridableFeatures, options); + if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) + object.fixedFeatures = $root.google.protobuf.FeatureSet.toObject(message.fixedFeatures, options); return object; }; @@ -82582,7 +88152,7 @@ this.location = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82648,9 +88218,13 @@ * @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, error) { + SourceCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82660,11 +88234,11 @@ case 1: { if (!(message.location && message.location.length)) message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82695,14 +88269,18 @@ * @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) { + SourceCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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]); + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1); if (error) return "location." + error; } @@ -82718,9 +88296,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo */ - SourceCodeInfo.fromObject = function fromObject(object) { + SourceCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo(); if (object.location) { if (!Array.isArray(object.location)) @@ -82729,7 +88311,7 @@ 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]); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1); } } return message; @@ -82811,7 +88393,7 @@ this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82925,9 +88507,13 @@ * @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, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82971,7 +88557,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83002,9 +88588,13 @@ * @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) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -83043,9 +88633,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo.Location(); if (object.path) { if (!Array.isArray(object.path)) @@ -83172,7 +88766,7 @@ this.annotation = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83238,9 +88832,13 @@ * @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, error) { + GeneratedCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83250,11 +88848,11 @@ case 1: { if (!(message.annotation && message.annotation.length)) message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83285,14 +88883,18 @@ * @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) { + GeneratedCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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]); + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1); if (error) return "annotation." + error; } @@ -83308,9 +88910,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo */ - GeneratedCodeInfo.fromObject = function fromObject(object) { + GeneratedCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo(); if (object.annotation) { if (!Array.isArray(object.annotation)) @@ -83319,7 +88925,7 @@ 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]); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1); } } return message; @@ -83399,7 +89005,7 @@ this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83508,9 +89114,13 @@ * @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, error) { + Annotation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83545,7 +89155,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83576,9 +89186,13 @@ * @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) { + Annotation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -83615,9 +89229,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - Annotation.fromObject = function fromObject(object) { + Annotation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); if (object.path) { if (!Array.isArray(object.path)) @@ -83740,6 +89358,22 @@ return GeneratedCodeInfo; })(); + /** + * SymbolVisibility enum. + * @name google.protobuf.SymbolVisibility + * @enum {number} + * @property {number} VISIBILITY_UNSET=0 VISIBILITY_UNSET value + * @property {number} VISIBILITY_LOCAL=1 VISIBILITY_LOCAL value + * @property {number} VISIBILITY_EXPORT=2 VISIBILITY_EXPORT value + */ + protobuf.SymbolVisibility = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "VISIBILITY_UNSET"] = 0; + values[valuesById[1] = "VISIBILITY_LOCAL"] = 1; + values[valuesById[2] = "VISIBILITY_EXPORT"] = 2; + return values; + })(); + protobuf.Duration = (function() { /** @@ -83761,7 +89395,7 @@ function Duration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83836,9 +89470,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length, error) { + Duration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83854,7 +89492,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83885,9 +89523,13 @@ * @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) { + Duration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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"; @@ -83905,9 +89547,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Duration} Duration */ - Duration.fromObject = function fromObject(object) { + Duration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Duration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Duration(); if (object.seconds != null) if ($util.Long) @@ -84004,7 +89650,7 @@ function Timestamp(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84079,9 +89725,13 @@ * @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, error) { + Timestamp.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84097,7 +89747,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84128,9 +89778,13 @@ * @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) { + Timestamp.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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"; @@ -84148,9 +89802,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Timestamp} Timestamp */ - Timestamp.fromObject = function fromObject(object) { + Timestamp.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Timestamp) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Timestamp(); if (object.seconds != null) if ($util.Long) @@ -84247,7 +89905,7 @@ function Any(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84322,9 +89980,13 @@ * @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, error) { + Any.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84340,7 +90002,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84371,9 +90033,13 @@ * @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) { + Any.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type_url != null && message.hasOwnProperty("type_url")) if (!$util.isString(message.type_url)) return "type_url: string expected"; @@ -84391,9 +90057,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Any} Any */ - Any.fromObject = function fromObject(object) { + Any.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Any) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Any(); if (object.type_url != null) message.type_url = String(object.type_url); @@ -84483,7 +90153,7 @@ function Empty(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84538,9 +90208,13 @@ * @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, error) { + Empty.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84548,7 +90222,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84579,9 +90253,13 @@ * @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) { + Empty.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -84593,9 +90271,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Empty} Empty */ - Empty.fromObject = function fromObject(object) { + Empty.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Empty) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.Empty(); }; @@ -84662,7 +90344,7 @@ this.paths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84728,9 +90410,13 @@ * @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, error) { + FieldMask.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84744,7 +90430,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84775,9 +90461,13 @@ * @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) { + FieldMask.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.paths != null && message.hasOwnProperty("paths")) { if (!Array.isArray(message.paths)) return "paths: array expected"; @@ -84796,9 +90486,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldMask} FieldMask */ - FieldMask.fromObject = function fromObject(object) { + FieldMask.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldMask) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldMask(); if (object.paths) { if (!Array.isArray(object.paths)) @@ -85098,7 +90792,7 @@ function Operation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85217,9 +90911,13 @@ * @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, error) { + Operation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85231,7 +90929,7 @@ break; } case 2: { - message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -85239,15 +90937,15 @@ break; } case 4: { - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.error = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85278,15 +90976,19 @@ * @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) { + Operation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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); + var error = $root.google.protobuf.Any.verify(message.metadata, long + 1); if (error) return "metadata." + error; } @@ -85296,7 +90998,7 @@ if (message.error != null && message.hasOwnProperty("error")) { properties.result = 1; { - var error = $root.google.rpc.Status.verify(message.error); + var error = $root.google.rpc.Status.verify(message.error, long + 1); if (error) return "error." + error; } @@ -85306,7 +91008,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.protobuf.Any.verify(message.response); + var error = $root.google.protobuf.Any.verify(message.response, long + 1); if (error) return "response." + error; } @@ -85322,28 +91024,32 @@ * @param {Object.} object Plain object * @returns {google.longrunning.Operation} Operation */ - Operation.fromObject = function fromObject(object) { + Operation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.Operation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); 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); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata, long + 1); } 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); + message.error = $root.google.rpc.Status.fromObject(object.error, long + 1); } 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); + message.response = $root.google.protobuf.Any.fromObject(object.response, long + 1); } return message; }; @@ -85434,7 +91140,7 @@ function GetOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85499,9 +91205,13 @@ * @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, error) { + GetOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85513,7 +91223,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85544,9 +91254,13 @@ * @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) { + GetOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -85561,9 +91275,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.GetOperationRequest} GetOperationRequest */ - GetOperationRequest.fromObject = function fromObject(object) { + GetOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.GetOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.GetOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -85642,7 +91360,7 @@ function ListOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85737,9 +91455,13 @@ * @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, error) { + ListOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85763,7 +91485,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85794,9 +91516,13 @@ * @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) { + ListOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -85820,9 +91546,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest */ - ListOperationsRequest.fromObject = function fromObject(object) { + ListOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsRequest(); if (object.name != null) message.name = String(object.name); @@ -85916,7 +91646,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85992,9 +91722,13 @@ * @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, error) { + ListOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86004,7 +91738,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -86012,7 +91746,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86043,14 +91777,18 @@ * @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) { + ListOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -86069,9 +91807,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse */ - ListOperationsResponse.fromObject = function fromObject(object) { + ListOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -86080,7 +91822,7 @@ 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]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -86164,7 +91906,7 @@ function CancelOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86229,9 +91971,13 @@ * @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, error) { + CancelOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86243,7 +91989,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86274,9 +92020,13 @@ * @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) { + CancelOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -86291,9 +92041,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest */ - CancelOperationRequest.fromObject = function fromObject(object) { + CancelOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.CancelOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.CancelOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -86369,7 +92123,7 @@ function DeleteOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86434,9 +92188,13 @@ * @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, error) { + DeleteOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86448,7 +92206,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86479,9 +92237,13 @@ * @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) { + DeleteOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -86496,9 +92258,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest */ - DeleteOperationRequest.fromObject = function fromObject(object) { + DeleteOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.DeleteOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.DeleteOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -86575,7 +92341,7 @@ function WaitOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86650,9 +92416,13 @@ * @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, error) { + WaitOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86664,11 +92434,11 @@ break; } case 2: { - message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86699,14 +92469,18 @@ * @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) { + WaitOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; 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); + var error = $root.google.protobuf.Duration.verify(message.timeout, long + 1); if (error) return "timeout." + error; } @@ -86721,16 +92495,20 @@ * @param {Object.} object Plain object * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest */ - WaitOperationRequest.fromObject = function fromObject(object) { + WaitOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.WaitOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); 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); + message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout, long + 1); } return message; }; @@ -86809,7 +92587,7 @@ function OperationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86884,9 +92662,13 @@ * @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, error) { + OperationInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86902,7 +92684,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86933,9 +92715,13 @@ * @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) { + OperationInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.responseType != null && message.hasOwnProperty("responseType")) if (!$util.isString(message.responseType)) return "responseType: string expected"; @@ -86953,9 +92739,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.OperationInfo} OperationInfo */ - OperationInfo.fromObject = function fromObject(object) { + OperationInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.OperationInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.OperationInfo(); if (object.responseType != null) message.responseType = String(object.responseType); @@ -87052,7 +92842,7 @@ this.details = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87138,9 +92928,13 @@ * @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, error) { + Status.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87158,11 +92952,11 @@ case 3: { if (!(message.details && message.details.length)) message.details = []; - message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87193,9 +92987,13 @@ * @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) { + Status.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.code != null && message.hasOwnProperty("code")) if (!$util.isInteger(message.code)) return "code: integer expected"; @@ -87206,7 +93004,7 @@ 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]); + var error = $root.google.protobuf.Any.verify(message.details[i], long + 1); if (error) return "details." + error; } @@ -87222,9 +93020,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.Status} Status */ - Status.fromObject = function fromObject(object) { + Status.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.Status) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.Status(); if (object.code != null) message.code = object.code | 0; @@ -87237,7 +93039,7 @@ 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]); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i], long + 1); } } return message; @@ -87364,7 +93166,7 @@ function TimeOfDay(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87459,9 +93261,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TimeOfDay.decode = function decode(reader, length, error) { + TimeOfDay.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.TimeOfDay(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87485,7 +93291,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87516,9 +93322,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TimeOfDay.verify = function verify(message) { + TimeOfDay.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.hours != null && message.hasOwnProperty("hours")) if (!$util.isInteger(message.hours)) return "hours: integer expected"; @@ -87542,9 +93352,13 @@ * @param {Object.} object Plain object * @returns {google.type.TimeOfDay} TimeOfDay */ - TimeOfDay.fromObject = function fromObject(object) { + TimeOfDay.fromObject = function fromObject(object, long) { if (object instanceof $root.google.type.TimeOfDay) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.type.TimeOfDay(); if (object.hours != null) message.hours = object.hours | 0; diff --git a/packages/google-cloud-hypercomputecluster/protos/protos.json b/packages/google-cloud-hypercomputecluster/protos/protos.json index 735aa088d8c2..5e66ed030770 100644 --- a/packages/google-cloud-hypercomputecluster/protos/protos.json +++ b/packages/google-cloud-hypercomputecluster/protos/protos.json @@ -7318,8 +7318,7 @@ "java_multiple_files": true, "java_outer_classname": "ResourceProto", "java_package": "com.google.api", - "objc_class_prefix": "GAPI", - "cc_enable_arenas": true + "objc_class_prefix": "GAPI" }, "nested": { "http": { @@ -7443,6 +7442,10 @@ "rule": "repeated", "type": "ClientLibraryDestination", "id": 2 + }, + "selectiveGapicGeneration": { + "type": "SelectiveGapicGeneration", + "id": 3 } } }, @@ -7583,6 +7586,28 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "experimentalFeatures": { + "type": "ExperimentalFeatures", + "id": 2 + } + }, + "nested": { + "ExperimentalFeatures": { + "fields": { + "restAsyncIoEnabled": { + "type": "bool", + "id": 1 + }, + "protobufPythonicTypesEnabled": { + "type": "bool", + "id": 2 + }, + "unversionedPackageDisabled": { + "type": "bool", + "id": 3 + } + } } } }, @@ -7640,6 +7665,11 @@ "common": { "type": "CommonLanguageSettings", "id": 1 + }, + "renamedServices": { + "keyType": "string", + "type": "string", + "id": 2 } } }, @@ -7701,6 +7731,19 @@ "PACKAGE_MANAGER": 20 } }, + "SelectiveGapicGeneration": { + "fields": { + "methods": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "generateOmittedAsInternal": { + "type": "bool", + "id": 2 + } + } + }, "LaunchStage": { "values": { "LAUNCH_STAGE_UNSPECIFIED": 0, @@ -7745,6 +7788,11 @@ "format": { "type": "Format", "id": 1 + }, + "referencedTypes": { + "rule": "repeated", + "type": "TypeReference", + "id": 2 } }, "nested": { @@ -7759,6 +7807,14 @@ } } }, + "TypeReference": { + "fields": { + "typeName": { + "type": "string", + "id": 1 + } + } + }, "resourceReference": { "type": "google.api.ResourceReference", "id": 1055, @@ -7857,12 +7913,19 @@ "type": "FileDescriptorProto", "id": 1 } - } + }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ] }, "Edition": { "edition": "proto2", "values": { "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, "EDITION_PROTO2": 998, "EDITION_PROTO3": 999, "EDITION_2023": 1000, @@ -7901,6 +7964,11 @@ "type": "int32", "id": 11 }, + "optionDependency": { + "rule": "repeated", + "type": "string", + "id": 15 + }, "messageType": { "rule": "repeated", "type": "DescriptorProto", @@ -7989,6 +8057,10 @@ "rule": "repeated", "type": "string", "id": 10 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 11 } }, "nested": { @@ -8214,6 +8286,10 @@ "rule": "repeated", "type": "string", "id": 5 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 6 } }, "nested": { @@ -8264,7 +8340,14 @@ "type": "ServiceOptions", "id": 3 } - } + }, + "reserved": [ + [ + 4, + 4 + ], + "stream" + ] }, "MethodDescriptorProto": { "edition": "proto2", @@ -8428,6 +8511,7 @@ 42, 42 ], + "php_generic_services", [ 38, 38 @@ -8563,7 +8647,8 @@ "type": "bool", "id": 10, "options": { - "default": false + "default": false, + "deprecated": true } }, "debugRedact": { @@ -8591,6 +8676,10 @@ "type": "FeatureSet", "id": 21 }, + "featureSupport": { + "type": "FeatureSupport", + "id": 22 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -8660,6 +8749,26 @@ "id": 2 } } + }, + "FeatureSupport": { + "fields": { + "editionIntroduced": { + "type": "Edition", + "id": 1 + }, + "editionDeprecated": { + "type": "Edition", + "id": 2 + }, + "deprecationWarning": { + "type": "string", + "id": 3 + }, + "editionRemoved": { + "type": "Edition", + "id": 4 + } + } } } }, @@ -8748,6 +8857,10 @@ "default": false } }, + "featureSupport": { + "type": "FieldOptions.FeatureSupport", + "id": 4 + }, "uninterpretedOption": { "rule": "repeated", "type": "UninterpretedOption", @@ -8890,6 +9003,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_2023", "edition_defaults.value": "EXPLICIT" } @@ -8900,6 +9014,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "OPEN" } @@ -8910,6 +9025,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "PACKED" } @@ -8920,6 +9036,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "VERIFY" } @@ -8930,7 +9047,8 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO2", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_LEGACY", "edition_defaults.value": "LENGTH_PREFIXED" } }, @@ -8940,27 +9058,38 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "ALLOW" } + }, + "enforceNamingStyle": { + "type": "EnforceNamingStyle", + "id": 7, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_METHOD", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "STYLE2024" + } + }, + "defaultSymbolVisibility": { + "type": "VisibilityFeature.DefaultSymbolVisibility", + "id": 8, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "EXPORT_TOP_LEVEL" + } } }, "extensions": [ [ 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 + 9994 ], [ 9995, @@ -9005,7 +9134,13 @@ "UTF8_VALIDATION_UNKNOWN": 0, "VERIFY": 2, "NONE": 3 - } + }, + "reserved": [ + [ + 1, + 1 + ] + ] }, "MessageEncoding": { "values": { @@ -9020,6 +9155,33 @@ "ALLOW": 1, "LEGACY_BEST_EFFORT": 2 } + }, + "EnforceNamingStyle": { + "values": { + "ENFORCE_NAMING_STYLE_UNKNOWN": 0, + "STYLE2024": 1, + "STYLE_LEGACY": 2 + } + }, + "VisibilityFeature": { + "fields": {}, + "reserved": [ + [ + 1, + 536870911 + ] + ], + "nested": { + "DefaultSymbolVisibility": { + "values": { + "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0, + "EXPORT_ALL": 1, + "EXPORT_TOP_LEVEL": 2, + "LOCAL_ALL": 3, + "STRICT": 4 + } + } + } } } }, @@ -9047,11 +9209,26 @@ "type": "Edition", "id": 3 }, - "features": { + "overridableFeatures": { "type": "FeatureSet", - "id": 2 + "id": 4 + }, + "fixedFeatures": { + "type": "FeatureSet", + "id": 5 } - } + }, + "reserved": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + "features" + ] } } }, @@ -9064,6 +9241,12 @@ "id": 1 } }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ], "nested": { "Location": { "fields": { @@ -9149,6 +9332,14 @@ } } }, + "SymbolVisibility": { + "edition": "proto2", + "values": { + "VISIBILITY_UNSET": 0, + "VISIBILITY_LOCAL": 1, + "VISIBILITY_EXPORT": 2 + } + }, "Duration": { "fields": { "seconds": { @@ -9207,6 +9398,7 @@ "java_multiple_files": true, "java_outer_classname": "OperationsProto", "java_package": "com.google.longrunning", + "objc_class_prefix": "GLRUN", "php_namespace": "Google\\LongRunning" }, "nested": { diff --git a/packages/google-cloud-hypercomputecluster/src/v1/hypercompute_cluster_client.ts b/packages/google-cloud-hypercomputecluster/src/v1/hypercompute_cluster_client.ts index 83df75c16566..e4b5a06db1dd 100644 --- a/packages/google-cloud-hypercomputecluster/src/v1/hypercompute_cluster_client.ts +++ b/packages/google-cloud-hypercomputecluster/src/v1/hypercompute_cluster_client.ts @@ -18,11 +18,22 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOptions, LROperation, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax'; -import {Transform} from 'stream'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GrpcClientOptions, + LROperation, + PaginationCallback, + GaxCall, + LocationsClient, + LocationProtos, +} from 'google-gax'; +import { Transform } from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -44,7 +55,7 @@ export class HypercomputeClusterClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('hypercomputecluster'); @@ -57,11 +68,11 @@ export class HypercomputeClusterClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; + pathTemplates: { [name: string]: gax.PathTemplate }; operationsClient: gax.OperationsClient; - hypercomputeClusterStub?: Promise<{[name: string]: Function}>; + hypercomputeClusterStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of HypercomputeClusterClient. @@ -102,21 +113,42 @@ export class HypercomputeClusterClient { * const client = new HypercomputeClusterClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof HypercomputeClusterClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'hypercomputecluster.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._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); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -141,7 +173,7 @@ export class HypercomputeClusterClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -155,15 +187,11 @@ export class HypercomputeClusterClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -185,34 +213,34 @@ export class HypercomputeClusterClient { // Create useful helper objects for these. this.pathTemplates = { bucketPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/buckets/{bucket}' + 'projects/{project}/buckets/{bucket}', ), clusterPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/clusters/{cluster}' + 'projects/{project}/locations/{location}/clusters/{cluster}', ), computeInstancePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/instances/{instance}' + 'projects/{project}/zones/{zone}/instances/{instance}', ), diskTypePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/diskTypes/{disk_type}' + 'projects/{project}/zones/{zone}/diskTypes/{disk_type}', ), fileInstancePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/instances/{instance}' + 'projects/{project}/locations/{location}/instances/{instance}', ), locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' + 'projects/{project}/locations/{location}', ), networkPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/global/networks/{network}' + 'projects/{project}/global/networks/{network}', ), projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' + 'projects/{project}', ), reservationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/reservations/{reservation}' + 'projects/{project}/zones/{zone}/reservations/{reservation}', ), subnetworkPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/regions/{region}/subnetworks/{subnetwork}' + 'projects/{project}/regions/{region}/subnetworks/{subnetwork}', ), }; @@ -220,8 +248,11 @@ export class HypercomputeClusterClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this.descriptors.page = { - listClusters: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'clusters') + listClusters: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'clusters', + ), }; const protoFilesRoot = this._gaxModule.protobufFromJSON(jsonProtos); @@ -230,45 +261,85 @@ export class HypercomputeClusterClient { // rather than holding a request open. const lroOptions: GrpcClientOptions = { auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }; if (opts.fallback) { 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',body: '*',},{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',}]; + 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', + body: '*', + }, + { + 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(lroOptions).operationsClient(opts); + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); const createClusterResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1.Cluster') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1.Cluster', + ) as gax.protobuf.Type; const createClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1.OperationMetadata', + ) as gax.protobuf.Type; const updateClusterResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1.Cluster') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1.Cluster', + ) as gax.protobuf.Type; const updateClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1.OperationMetadata', + ) as gax.protobuf.Type; const deleteClusterResponse = protoFilesRoot.lookup( - '.google.protobuf.Empty') as gax.protobuf.Type; + '.google.protobuf.Empty', + ) as gax.protobuf.Type; const deleteClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1.OperationMetadata', + ) as gax.protobuf.Type; this.descriptors.longrunning = { createCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, createClusterResponse.decode.bind(createClusterResponse), - createClusterMetadata.decode.bind(createClusterMetadata)), + createClusterMetadata.decode.bind(createClusterMetadata), + ), updateCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, updateClusterResponse.decode.bind(updateClusterResponse), - updateClusterMetadata.decode.bind(updateClusterMetadata)), + updateClusterMetadata.decode.bind(updateClusterMetadata), + ), deleteCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, deleteClusterResponse.decode.bind(deleteClusterResponse), - deleteClusterMetadata.decode.bind(deleteClusterMetadata)) + deleteClusterMetadata.decode.bind(deleteClusterMetadata), + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.hypercomputecluster.v1.HypercomputeCluster', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.hypercomputecluster.v1.HypercomputeCluster', + 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 @@ -299,28 +370,40 @@ export class HypercomputeClusterClient { // Put together the "service stub" for // google.cloud.hypercomputecluster.v1.HypercomputeCluster. this.hypercomputeClusterStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.hypercomputecluster.v1.HypercomputeCluster') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.hypercomputecluster.v1.HypercomputeCluster, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.hypercomputecluster.v1.HypercomputeCluster', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.hypercomputecluster.v1 + .HypercomputeCluster, + 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 hypercomputeClusterStubMethods = - ['listClusters', 'getCluster', 'createCluster', 'updateCluster', 'deleteCluster']; + const hypercomputeClusterStubMethods = [ + 'listClusters', + 'getCluster', + 'createCluster', + 'updateCluster', + 'deleteCluster', + ]; for (const methodName of hypercomputeClusterStubMethods) { const callPromise = this.hypercomputeClusterStub.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) => () => { + (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] || @@ -330,7 +413,7 @@ export class HypercomputeClusterClient { callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -345,8 +428,14 @@ export class HypercomputeClusterClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -357,8 +446,14 @@ export class HypercomputeClusterClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -389,9 +484,7 @@ export class HypercomputeClusterClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -400,8 +493,9 @@ export class HypercomputeClusterClient { * 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 { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -412,546 +506,800 @@ export class HypercomputeClusterClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Gets details of a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the cluster to retrieve, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @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 {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.get_cluster.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_GetCluster_async - */ + /** + * Gets details of a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the cluster to retrieve, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @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 {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.get_cluster.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_GetCluster_async + */ getCluster( - request?: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest | undefined, + {} | undefined, + ] + >; getCluster( - request: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1.ICluster, + | protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getCluster( - request: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1.ICluster, + | protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getCluster( - request?: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1.ICluster, + | protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getCluster request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1.ICluster, + | protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getCluster response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getCluster(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1.ICluster, - protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest|undefined, - {}|undefined - ]) => { - this._log.info('getCluster response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getCluster(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1.ICluster, + ( + | protos.google.cloud.hypercomputecluster.v1.IGetClusterRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getCluster response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates a new Cluster in a given project and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location in which the cluster should be created, in the - * format `projects/{project}/locations/{location}`. - * @param {string} request.clusterId - * Required. ID of the cluster to create. Must conform to - * [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, - * alphanumeric, and at most 63 characters). - * @param {google.cloud.hypercomputecluster.v1.Cluster} request.cluster - * Required. Cluster to create. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.create_cluster.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_CreateCluster_async - */ + /** + * Creates a new Cluster in a given project and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location in which the cluster should be created, in the + * format `projects/{project}/locations/{location}`. + * @param {string} request.clusterId + * Required. ID of the cluster to create. Must conform to + * [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, + * alphanumeric, and at most 63 characters). + * @param {google.cloud.hypercomputecluster.v1.Cluster} request.cluster + * Required. Cluster to create. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.create_cluster.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_CreateCluster_async + */ createCluster( - request?: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; createCluster( - request: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createCluster( - request: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createCluster( - request?: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1.ICreateClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('createCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('createCluster request %j', request); - return this.innerApiCalls.createCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('createCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .createCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('createCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `createCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.create_cluster.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_CreateCluster_async - */ - async checkCreateClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `createCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.create_cluster.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_CreateCluster_async + */ + async checkCreateClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1.Cluster, + protos.google.cloud.hypercomputecluster.v1.OperationMetadata + > + > { this._log.info('createCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.createCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.createCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1.Cluster, + protos.google.cloud.hypercomputecluster.v1.OperationMetadata + >; } -/** - * Updates the parameters of a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.hypercomputecluster.v1.Cluster} request.cluster - * Required. Cluster to update. - * @param {google.protobuf.FieldMask} [request.updateMask] - * Optional. Mask specifying which fields in the cluster to update. All paths - * must be specified explicitly - wildcards are not supported. At least one - * path must be provided. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.update_cluster.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_UpdateCluster_async - */ + /** + * Updates the parameters of a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.hypercomputecluster.v1.Cluster} request.cluster + * Required. Cluster to update. + * @param {google.protobuf.FieldMask} [request.updateMask] + * Optional. Mask specifying which fields in the cluster to update. All paths + * must be specified explicitly - wildcards are not supported. At least one + * path must be provided. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.update_cluster.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_UpdateCluster_async + */ updateCluster( - request?: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; updateCluster( - request: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateCluster( - request: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateCluster( - request?: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1.IUpdateClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'cluster.name': request.cluster!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'cluster.name': request.cluster!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('updateCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('updateCluster request %j', request); - return this.innerApiCalls.updateCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('updateCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .updateCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('updateCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `updateCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.update_cluster.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_UpdateCluster_async - */ - async checkUpdateClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `updateCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.update_cluster.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_UpdateCluster_async + */ + async checkUpdateClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1.Cluster, + protos.google.cloud.hypercomputecluster.v1.OperationMetadata + > + > { this._log.info('updateCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.updateCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.updateCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1.Cluster, + protos.google.cloud.hypercomputecluster.v1.OperationMetadata + >; } -/** - * Deletes a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the cluster to delete, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.delete_cluster.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_DeleteCluster_async - */ + /** + * Deletes a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the cluster to delete, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.delete_cluster.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_DeleteCluster_async + */ deleteCluster( - request?: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; deleteCluster( - request: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteCluster( - request: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteCluster( - request?: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1.IDeleteClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('deleteCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('deleteCluster request %j', request); - return this.innerApiCalls.deleteCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('deleteCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .deleteCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('deleteCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `deleteCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.delete_cluster.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_DeleteCluster_async - */ - async checkDeleteClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `deleteCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.delete_cluster.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_DeleteCluster_async + */ + async checkDeleteClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1.OperationMetadata + > + > { this._log.info('deleteCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.deleteCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.deleteCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1.OperationMetadata + >; } - /** - * Lists Clusters in a given project and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster}. - * 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 `listClustersAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists Clusters in a given project and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster}. + * 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 `listClustersAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listClusters( - request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1.ICluster[], - protos.google.cloud.hypercomputecluster.v1.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1.ICluster[], + protos.google.cloud.hypercomputecluster.v1.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1.IListClustersResponse, + ] + >; listClusters( - request: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1.ICluster>): void; + request: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1.ICluster + >, + ): void; listClusters( - request: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1.ICluster>): void; + request: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1.ICluster + >, + ): void; listClusters( - request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1.ICluster>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1.ICluster>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1.ICluster[], - protos.google.cloud.hypercomputecluster.v1.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1.ICluster + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1.ICluster + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1.ICluster[], + protos.google.cloud.hypercomputecluster.v1.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1.IListClustersResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1.ICluster>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1.ICluster + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listClusters values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -960,145 +1308,150 @@ export class HypercomputeClusterClient { this._log.info('listClusters request %j', request); return this.innerApiCalls .listClusters(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1.ICluster[], - protos.google.cloud.hypercomputecluster.v1.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1.IListClustersResponse - ]) => { - this._log.info('listClusters values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1.ICluster[], + protos.google.cloud.hypercomputecluster.v1.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1.IListClustersResponse, + ]) => { + this._log.info('listClusters values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listClusters`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster} 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 `listClustersAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listClusters`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster} 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 `listClustersAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listClustersStream( - request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listClusters']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listClusters stream %j', request); return this.descriptors.page.listClusters.createStream( this.innerApiCalls.listClusters as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listClusters`, 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. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1/hypercompute_cluster.list_clusters.js - * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_ListClusters_async - */ + /** + * Equivalent to `listClusters`, 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. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1.Cluster|Cluster}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1/hypercompute_cluster.list_clusters.js + * region_tag:hypercomputecluster_v1_generated_HypercomputeCluster_ListClusters_async + */ listClustersAsync( - request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1.IListClustersRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listClusters']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listClusters iterate %j', request); return this.descriptors.page.listClusters.asyncIterate( this.innerApiCalls['listClusters'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } -/** + + /** * Gets information about a location. * * @param {Object} request @@ -1133,12 +1486,11 @@ export class HypercomputeClusterClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -1171,12 +1523,12 @@ export class HypercomputeClusterClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } -/** + /** * Gets the latest state of a long-running operation. Clients can use this * method to poll the operation result at intervals as recommended by the API * service. @@ -1219,22 +1571,22 @@ export class HypercomputeClusterClient { protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined - > + >, ): Promise<[protos.google.longrunning.Operation]> { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.getOperation(request, options, callback); } /** @@ -1269,15 +1621,15 @@ export class HypercomputeClusterClient { */ listOperationsAsync( request: protos.google.longrunning.ListOperationsRequest, - options?: gax.CallOptions + options?: gax.CallOptions, ): AsyncIterable { - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.listOperationsAsync(request, options); } /** @@ -1311,7 +1663,7 @@ export class HypercomputeClusterClient { * await client.cancelOperation({name: ''}); * ``` */ - cancelOperation( + cancelOperation( request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: | gax.CallOptions @@ -1324,25 +1676,24 @@ export class HypercomputeClusterClient { protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.cancelOperation(request, options, callback); } - /** * Deletes a long-running operation. This method indicates that the client is * no longer interested in the operation result. It does not cancel the @@ -1381,22 +1732,22 @@ export class HypercomputeClusterClient { protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.deleteOperation(request, options, callback); } @@ -1411,7 +1762,7 @@ export class HypercomputeClusterClient { * @param {string} bucket * @returns {string} Resource name string. */ - bucketPath(project:string,bucket:string) { + bucketPath(project: string, bucket: string) { return this.pathTemplates.bucketPathTemplate.render({ project: project, bucket: bucket, @@ -1448,7 +1799,7 @@ export class HypercomputeClusterClient { * @param {string} cluster * @returns {string} Resource name string. */ - clusterPath(project:string,location:string,cluster:string) { + clusterPath(project: string, location: string, cluster: string) { return this.pathTemplates.clusterPathTemplate.render({ project: project, location: location, @@ -1497,7 +1848,7 @@ export class HypercomputeClusterClient { * @param {string} instance * @returns {string} Resource name string. */ - computeInstancePath(project:string,zone:string,instance:string) { + computeInstancePath(project: string, zone: string, instance: string) { return this.pathTemplates.computeInstancePathTemplate.render({ project: project, zone: zone, @@ -1513,7 +1864,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).project; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).project; } /** @@ -1524,7 +1877,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).zone; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).zone; } /** @@ -1535,7 +1890,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the instance. */ matchInstanceFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).instance; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).instance; } /** @@ -1546,7 +1903,7 @@ export class HypercomputeClusterClient { * @param {string} disk_type * @returns {string} Resource name string. */ - diskTypePath(project:string,zone:string,diskType:string) { + diskTypePath(project: string, zone: string, diskType: string) { return this.pathTemplates.diskTypePathTemplate.render({ project: project, zone: zone, @@ -1584,7 +1941,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the disk_type. */ matchDiskTypeFromDiskTypeName(diskTypeName: string) { - return this.pathTemplates.diskTypePathTemplate.match(diskTypeName).disk_type; + return this.pathTemplates.diskTypePathTemplate.match(diskTypeName) + .disk_type; } /** @@ -1595,7 +1953,7 @@ export class HypercomputeClusterClient { * @param {string} instance * @returns {string} Resource name string. */ - fileInstancePath(project:string,location:string,instance:string) { + fileInstancePath(project: string, location: string, instance: string) { return this.pathTemplates.fileInstancePathTemplate.render({ project: project, location: location, @@ -1611,7 +1969,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromFileInstanceName(fileInstanceName: string) { - return this.pathTemplates.fileInstancePathTemplate.match(fileInstanceName).project; + return this.pathTemplates.fileInstancePathTemplate.match(fileInstanceName) + .project; } /** @@ -1622,7 +1981,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the location. */ matchLocationFromFileInstanceName(fileInstanceName: string) { - return this.pathTemplates.fileInstancePathTemplate.match(fileInstanceName).location; + return this.pathTemplates.fileInstancePathTemplate.match(fileInstanceName) + .location; } /** @@ -1633,7 +1993,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the instance. */ matchInstanceFromFileInstanceName(fileInstanceName: string) { - return this.pathTemplates.fileInstancePathTemplate.match(fileInstanceName).instance; + return this.pathTemplates.fileInstancePathTemplate.match(fileInstanceName) + .instance; } /** @@ -1643,7 +2004,7 @@ export class HypercomputeClusterClient { * @param {string} location * @returns {string} Resource name string. */ - locationPath(project:string,location:string) { + locationPath(project: string, location: string) { return this.pathTemplates.locationPathTemplate.render({ project: project, location: location, @@ -1679,7 +2040,7 @@ export class HypercomputeClusterClient { * @param {string} network * @returns {string} Resource name string. */ - networkPath(project:string,network:string) { + networkPath(project: string, network: string) { return this.pathTemplates.networkPathTemplate.render({ project: project, network: network, @@ -1714,7 +2075,7 @@ export class HypercomputeClusterClient { * @param {string} project * @returns {string} Resource name string. */ - projectPath(project:string) { + projectPath(project: string) { return this.pathTemplates.projectPathTemplate.render({ project: project, }); @@ -1739,7 +2100,7 @@ export class HypercomputeClusterClient { * @param {string} reservation * @returns {string} Resource name string. */ - reservationPath(project:string,zone:string,reservation:string) { + reservationPath(project: string, zone: string, reservation: string) { return this.pathTemplates.reservationPathTemplate.render({ project: project, zone: zone, @@ -1755,7 +2116,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).project; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .project; } /** @@ -1766,7 +2128,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).zone; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .zone; } /** @@ -1777,7 +2140,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the reservation. */ matchReservationFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).reservation; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .reservation; } /** @@ -1788,7 +2152,7 @@ export class HypercomputeClusterClient { * @param {string} subnetwork * @returns {string} Resource name string. */ - subnetworkPath(project:string,region:string,subnetwork:string) { + subnetworkPath(project: string, region: string, subnetwork: string) { return this.pathTemplates.subnetworkPathTemplate.render({ project: project, region: region, @@ -1804,7 +2168,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).project; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .project; } /** @@ -1815,7 +2180,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the region. */ matchRegionFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).region; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .region; } /** @@ -1826,7 +2192,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the subnetwork. */ matchSubnetworkFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).subnetwork; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .subnetwork; } /** @@ -1837,14 +2204,16 @@ export class HypercomputeClusterClient { */ close(): Promise { if (this.hypercomputeClusterStub && !this._terminated) { - return this.hypercomputeClusterStub.then(stub => { + return this.hypercomputeClusterStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); void this.operationsClient.close(); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-hypercomputecluster/src/v1/index.ts b/packages/google-cloud-hypercomputecluster/src/v1/index.ts index ee3f58bb3a68..9b93e8506ac2 100644 --- a/packages/google-cloud-hypercomputecluster/src/v1/index.ts +++ b/packages/google-cloud-hypercomputecluster/src/v1/index.ts @@ -16,4 +16,4 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {HypercomputeClusterClient} from './hypercompute_cluster_client'; +export { HypercomputeClusterClient } from './hypercompute_cluster_client'; diff --git a/packages/google-cloud-hypercomputecluster/src/v1alpha/hypercompute_cluster_client.ts b/packages/google-cloud-hypercomputecluster/src/v1alpha/hypercompute_cluster_client.ts index b73bb1e3e87b..b9c42d04e752 100644 --- a/packages/google-cloud-hypercomputecluster/src/v1alpha/hypercompute_cluster_client.ts +++ b/packages/google-cloud-hypercomputecluster/src/v1alpha/hypercompute_cluster_client.ts @@ -18,11 +18,22 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOptions, LROperation, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax'; -import {Transform} from 'stream'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GrpcClientOptions, + LROperation, + PaginationCallback, + GaxCall, + LocationsClient, + LocationProtos, +} from 'google-gax'; +import { Transform } from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -44,7 +55,7 @@ export class HypercomputeClusterClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('hypercomputecluster'); @@ -57,11 +68,11 @@ export class HypercomputeClusterClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; + pathTemplates: { [name: string]: gax.PathTemplate }; operationsClient: gax.OperationsClient; - hypercomputeClusterStub?: Promise<{[name: string]: Function}>; + hypercomputeClusterStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of HypercomputeClusterClient. @@ -102,21 +113,42 @@ export class HypercomputeClusterClient { * const client = new HypercomputeClusterClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof HypercomputeClusterClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'hypercomputecluster.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._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); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -141,7 +173,7 @@ export class HypercomputeClusterClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -155,15 +187,11 @@ export class HypercomputeClusterClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -185,64 +213,64 @@ export class HypercomputeClusterClient { // Create useful helper objects for these. this.pathTemplates = { bucketPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/buckets/{bucket}' + 'projects/{project}/buckets/{bucket}', ), clusterPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/clusters/{cluster}' + 'projects/{project}/locations/{location}/clusters/{cluster}', ), computeInstancePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/instances/{instance}' + 'projects/{project}/zones/{zone}/instances/{instance}', ), diskTypePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/diskTypes/{disk_type}' + 'projects/{project}/zones/{zone}/diskTypes/{disk_type}', ), imagePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/global/images/{image}' + 'projects/{project}/global/images/{image}', ), instancePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/instances/{instance}' + 'projects/{project}/locations/{location}/instances/{instance}', ), locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' + 'projects/{project}/locations/{location}', ), machineLearningRunPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}', ), monitoredEventPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event}', ), networkPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/global/networks/{network}' + 'projects/{project}/global/networks/{network}', ), nodePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/clusters/{cluster}/nodes/{node}' + 'projects/{project}/locations/{location}/clusters/{cluster}/nodes/{node}', ), podPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}' + 'projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}', ), profileSessionPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profileSessions/{profile_session}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profileSessions/{profile_session}', ), profilerSessionPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session}', ), profilerTargetPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target}', ), projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' + 'projects/{project}', ), reservationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/reservations/{reservation}' + 'projects/{project}/zones/{zone}/reservations/{reservation}', ), reservationBlockPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}' + 'projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}', ), reservationSubBlockPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}/reservationSubBlocks/{reservation_sub_block}' + 'projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservation_block}/reservationSubBlocks/{reservation_sub_block}', ), subnetworkPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/regions/{region}/subnetworks/{subnetwork}' + 'projects/{project}/regions/{region}/subnetworks/{subnetwork}', ), }; @@ -250,10 +278,16 @@ export class HypercomputeClusterClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this.descriptors.page = { - listClusters: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'clusters'), - listNodes: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'nodes') + listClusters: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'clusters', + ), + listNodes: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'nodes', + ), }; const protoFilesRoot = this._gaxModule.protobufFromJSON(jsonProtos); @@ -262,45 +296,85 @@ export class HypercomputeClusterClient { // rather than holding a request open. const lroOptions: GrpcClientOptions = { auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }; if (opts.fallback) { lroOptions.protoJson = protoFilesRoot; - lroOptions.httpRules = [{selector: 'google.cloud.location.Locations.GetLocation',get: '/v1alpha/{name=projects/*/locations/*}',},{selector: 'google.cloud.location.Locations.ListLocations',get: '/v1alpha/{name=projects/*}/locations',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1alpha/{name=projects/*/locations/*/operations/*}:cancel',body: '*',},{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1alpha/{name=projects/*/locations/*/operations/*}',},{selector: 'google.longrunning.Operations.GetOperation',get: '/v1alpha/{name=projects/*/locations/*/operations/*}',},{selector: 'google.longrunning.Operations.ListOperations',get: '/v1alpha/{name=projects/*/locations/*}/operations',}]; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1alpha/{name=projects/*/locations/*}', + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1alpha/{name=projects/*}/locations', + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1alpha/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1alpha/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1alpha/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1alpha/{name=projects/*/locations/*}/operations', + }, + ]; } - this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts); + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); const createClusterResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.Cluster') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.Cluster', + ) as gax.protobuf.Type; const createClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const updateClusterResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.Cluster') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.Cluster', + ) as gax.protobuf.Type; const updateClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const deleteClusterResponse = protoFilesRoot.lookup( - '.google.protobuf.Empty') as gax.protobuf.Type; + '.google.protobuf.Empty', + ) as gax.protobuf.Type; const deleteClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; this.descriptors.longrunning = { createCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, createClusterResponse.decode.bind(createClusterResponse), - createClusterMetadata.decode.bind(createClusterMetadata)), + createClusterMetadata.decode.bind(createClusterMetadata), + ), updateCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, updateClusterResponse.decode.bind(updateClusterResponse), - updateClusterMetadata.decode.bind(updateClusterMetadata)), + updateClusterMetadata.decode.bind(updateClusterMetadata), + ), deleteCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, deleteClusterResponse.decode.bind(deleteClusterResponse), - deleteClusterMetadata.decode.bind(deleteClusterMetadata)) + deleteClusterMetadata.decode.bind(deleteClusterMetadata), + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.hypercomputecluster.v1alpha.HypercomputeCluster', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.hypercomputecluster.v1alpha.HypercomputeCluster', + 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 @@ -331,28 +405,42 @@ export class HypercomputeClusterClient { // Put together the "service stub" for // google.cloud.hypercomputecluster.v1alpha.HypercomputeCluster. this.hypercomputeClusterStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.hypercomputecluster.v1alpha.HypercomputeCluster') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.hypercomputecluster.v1alpha.HypercomputeCluster, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.hypercomputecluster.v1alpha.HypercomputeCluster', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.hypercomputecluster.v1alpha + .HypercomputeCluster, + 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 hypercomputeClusterStubMethods = - ['listClusters', 'getCluster', 'createCluster', 'updateCluster', 'deleteCluster', 'getNode', 'listNodes']; + const hypercomputeClusterStubMethods = [ + 'listClusters', + 'getCluster', + 'createCluster', + 'updateCluster', + 'deleteCluster', + 'getNode', + 'listNodes', + ]; for (const methodName of hypercomputeClusterStubMethods) { const callPromise = this.hypercomputeClusterStub.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) => () => { + (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] || @@ -362,7 +450,7 @@ export class HypercomputeClusterClient { callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -377,8 +465,14 @@ export class HypercomputeClusterClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -389,8 +483,14 @@ export class HypercomputeClusterClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -421,9 +521,7 @@ export class HypercomputeClusterClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -432,8 +530,9 @@ export class HypercomputeClusterClient { * 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 { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -444,641 +543,950 @@ export class HypercomputeClusterClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Gets details of a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the cluster to retrieve, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.get_cluster.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_GetCluster_async - */ + /** + * Gets details of a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the cluster to retrieve, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.get_cluster.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_GetCluster_async + */ getCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | undefined + ), + {} | undefined, + ] + >; getCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getCluster request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getCluster response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getCluster(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1alpha.ICluster, - protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest|undefined, - {}|undefined - ]) => { - this._log.info('getCluster response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getCluster(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetClusterRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getCluster response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets details of a single Node. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the node to retrieve, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}/nodes/{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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|Node}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.get_node.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_GetNode_async - */ + /** + * Gets details of a single Node. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the node to retrieve, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}/nodes/{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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|Node}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.get_node.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_GetNode_async + */ getNode( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.INode, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | undefined + ), + {} | undefined, + ] + >; getNode( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.INode, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getNode( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.INode, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getNode( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.INode, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.INode, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getNode request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1alpha.INode, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getNode response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getNode(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1alpha.INode, - protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest|undefined, - {}|undefined - ]) => { - this._log.info('getNode response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getNode(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1alpha.INode, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetNodeRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getNode response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates a new Cluster in a given project and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location in which the cluster should be created, in the - * format `projects/{project}/locations/{location}`. - * @param {string} request.clusterId - * Required. ID of the cluster to create. Must conform to - * [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, - * alphanumeric, and at most 63 characters). - * @param {google.cloud.hypercomputecluster.v1alpha.Cluster} request.cluster - * Required. Cluster to create. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.create_cluster.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_CreateCluster_async - */ + /** + * Creates a new Cluster in a given project and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location in which the cluster should be created, in the + * format `projects/{project}/locations/{location}`. + * @param {string} request.clusterId + * Required. ID of the cluster to create. Must conform to + * [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, + * alphanumeric, and at most 63 characters). + * @param {google.cloud.hypercomputecluster.v1alpha.Cluster} request.cluster + * Required. Cluster to create. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.create_cluster.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_CreateCluster_async + */ createCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; createCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('createCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('createCluster request %j', request); - return this.innerApiCalls.createCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('createCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .createCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('createCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `createCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.create_cluster.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_CreateCluster_async - */ - async checkCreateClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `createCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.create_cluster.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_CreateCluster_async + */ + async checkCreateClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.Cluster, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('createCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.createCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.createCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.Cluster, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Updates the parameters of a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.hypercomputecluster.v1alpha.Cluster} request.cluster - * Required. Cluster to update. - * @param {google.protobuf.FieldMask} [request.updateMask] - * Optional. Mask specifying which fields in the cluster to update. All paths - * must be specified explicitly - wildcards are not supported. At least one - * path must be provided. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.update_cluster.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_UpdateCluster_async - */ + /** + * Updates the parameters of a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.hypercomputecluster.v1alpha.Cluster} request.cluster + * Required. Cluster to update. + * @param {google.protobuf.FieldMask} [request.updateMask] + * Optional. Mask specifying which fields in the cluster to update. All paths + * must be specified explicitly - wildcards are not supported. At least one + * path must be provided. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.update_cluster.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_UpdateCluster_async + */ updateCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; updateCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'cluster.name': request.cluster!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'cluster.name': request.cluster!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('updateCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('updateCluster request %j', request); - return this.innerApiCalls.updateCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('updateCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .updateCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('updateCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `updateCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.update_cluster.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_UpdateCluster_async - */ - async checkUpdateClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `updateCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.update_cluster.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_UpdateCluster_async + */ + async checkUpdateClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.Cluster, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('updateCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.updateCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.updateCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.Cluster, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Deletes a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the cluster to delete, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.delete_cluster.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_DeleteCluster_async - */ + /** + * Deletes a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the cluster to delete, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.delete_cluster.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_DeleteCluster_async + */ deleteCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; deleteCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteCluster( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteCluster( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('deleteCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('deleteCluster request %j', request); - return this.innerApiCalls.deleteCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('deleteCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .deleteCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('deleteCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `deleteCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.delete_cluster.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_DeleteCluster_async - */ - async checkDeleteClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `deleteCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.delete_cluster.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_DeleteCluster_async + */ + async checkDeleteClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('deleteCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.deleteCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; - } - /** - * Lists Clusters in a given project and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster}. - * 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 `listClustersAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.deleteCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; + } + /** + * Lists Clusters in a given project and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster}. + * 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 `listClustersAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listClusters( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.ICluster[], - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.ICluster[], + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse, + ] + >; listClusters( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.ICluster>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.ICluster + >, + ): void; listClusters( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.ICluster>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.ICluster + >, + ): void; listClusters( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.ICluster>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.ICluster>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.ICluster[], - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.ICluster + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.ICluster + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.ICluster[], + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.ICluster>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.ICluster + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listClusters values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -1087,241 +1495,270 @@ export class HypercomputeClusterClient { this._log.info('listClusters request %j', request); return this.innerApiCalls .listClusters(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1alpha.ICluster[], - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse - ]) => { - this._log.info('listClusters values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1alpha.ICluster[], + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListClustersResponse, + ]) => { + this._log.info('listClusters values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listClusters`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster} 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 `listClustersAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listClusters`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster} 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 `listClustersAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listClustersStream( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listClusters']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listClusters stream %j', request); return this.descriptors.page.listClusters.createStream( this.innerApiCalls.listClusters as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listClusters`, 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. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.list_clusters.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_ListClusters_async - */ + /** + * Equivalent to `listClusters`, 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. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1alpha.Cluster|Cluster}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.list_clusters.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_ListClusters_async + */ listClustersAsync( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListClustersRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listClusters']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listClusters iterate %j', request); return this.descriptors.page.listClusters.asyncIterate( this.innerApiCalls['listClusters'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists Nodes in a given cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent cluster of the nodes to list, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of nodes to return. The service may return fewer - * than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListNodes` call. Provide - * this to retrieve the subsequent page. When paginating, all other parameters - * provided to `ListNodes` must match the call that provided the page - * token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting nodes. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * - * If not specified, nodes will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists Nodes in a given cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent cluster of the nodes to list, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of nodes to return. The service may return fewer + * than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListNodes` call. Provide + * this to retrieve the subsequent page. When paginating, all other parameters + * provided to `ListNodes` must match the call that provided the page + * token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting nodes. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * + * If not specified, nodes will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listNodes( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.INode[], - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.INode[], + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse, + ] + >; listNodes( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.INode>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.INode + >, + ): void; listNodes( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.INode>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.INode + >, + ): void; listNodes( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.INode>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.INode>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.INode[], - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.INode + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.INode + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.INode[], + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.INode>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.INode + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listNodes values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -1330,141 +1767,146 @@ export class HypercomputeClusterClient { this._log.info('listNodes request %j', request); return this.innerApiCalls .listNodes(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1alpha.INode[], - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse - ]) => { - this._log.info('listNodes values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1alpha.INode[], + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListNodesResponse, + ]) => { + this._log.info('listNodes values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listNodes`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent cluster of the nodes to list, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of nodes to return. The service may return fewer - * than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListNodes` call. Provide - * this to retrieve the subsequent page. When paginating, all other parameters - * provided to `ListNodes` must match the call that provided the page - * token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting nodes. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * - * If not specified, nodes will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listNodes`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent cluster of the nodes to list, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of nodes to return. The service may return fewer + * than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListNodes` call. Provide + * this to retrieve the subsequent page. When paginating, all other parameters + * provided to `ListNodes` must match the call that provided the page + * token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting nodes. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * + * If not specified, nodes will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listNodesStream( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.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' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listNodes stream %j', request); return this.descriptors.page.listNodes.createStream( this.innerApiCalls.listNodes as GaxCall, request, - callSettings + 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. Parent cluster of the nodes to list, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of nodes to return. The service may return fewer - * than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListNodes` call. Provide - * this to retrieve the subsequent page. When paginating, all other parameters - * provided to `ListNodes` must match the call that provided the page - * token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting nodes. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * - * If not specified, nodes will be returned in an arbitrary order. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/hypercompute_cluster.list_nodes.js - * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_ListNodes_async - */ + /** + * 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. Parent cluster of the nodes to list, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of nodes to return. The service may return fewer + * than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListNodes` call. Provide + * this to retrieve the subsequent page. When paginating, all other parameters + * provided to `ListNodes` must match the call that provided the page + * token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting nodes. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * + * If not specified, nodes will be returned in an arbitrary order. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1alpha.Node|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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/hypercompute_cluster.list_nodes.js + * region_tag:hypercomputecluster_v1alpha_generated_HypercomputeCluster_ListNodes_async + */ listNodesAsync( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListNodesRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.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' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listNodes']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listNodes iterate %j', request); return this.descriptors.page.listNodes.asyncIterate( this.innerApiCalls['listNodes'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } -/** + + /** * Gets information about a location. * * @param {Object} request @@ -1499,12 +1941,11 @@ export class HypercomputeClusterClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -1537,12 +1978,12 @@ export class HypercomputeClusterClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } -/** + /** * Gets the latest state of a long-running operation. Clients can use this * method to poll the operation result at intervals as recommended by the API * service. @@ -1585,22 +2026,22 @@ export class HypercomputeClusterClient { protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined - > + >, ): Promise<[protos.google.longrunning.Operation]> { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.getOperation(request, options, callback); } /** @@ -1635,15 +2076,15 @@ export class HypercomputeClusterClient { */ listOperationsAsync( request: protos.google.longrunning.ListOperationsRequest, - options?: gax.CallOptions + options?: gax.CallOptions, ): AsyncIterable { - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.listOperationsAsync(request, options); } /** @@ -1677,7 +2118,7 @@ export class HypercomputeClusterClient { * await client.cancelOperation({name: ''}); * ``` */ - cancelOperation( + cancelOperation( request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: | gax.CallOptions @@ -1690,25 +2131,24 @@ export class HypercomputeClusterClient { protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.cancelOperation(request, options, callback); } - /** * Deletes a long-running operation. This method indicates that the client is * no longer interested in the operation result. It does not cancel the @@ -1747,22 +2187,22 @@ export class HypercomputeClusterClient { protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.deleteOperation(request, options, callback); } @@ -1777,7 +2217,7 @@ export class HypercomputeClusterClient { * @param {string} bucket * @returns {string} Resource name string. */ - bucketPath(project:string,bucket:string) { + bucketPath(project: string, bucket: string) { return this.pathTemplates.bucketPathTemplate.render({ project: project, bucket: bucket, @@ -1814,7 +2254,7 @@ export class HypercomputeClusterClient { * @param {string} cluster * @returns {string} Resource name string. */ - clusterPath(project:string,location:string,cluster:string) { + clusterPath(project: string, location: string, cluster: string) { return this.pathTemplates.clusterPathTemplate.render({ project: project, location: location, @@ -1863,7 +2303,7 @@ export class HypercomputeClusterClient { * @param {string} instance * @returns {string} Resource name string. */ - computeInstancePath(project:string,zone:string,instance:string) { + computeInstancePath(project: string, zone: string, instance: string) { return this.pathTemplates.computeInstancePathTemplate.render({ project: project, zone: zone, @@ -1879,7 +2319,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).project; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).project; } /** @@ -1890,7 +2332,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).zone; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).zone; } /** @@ -1901,7 +2345,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the instance. */ matchInstanceFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).instance; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).instance; } /** @@ -1912,7 +2358,7 @@ export class HypercomputeClusterClient { * @param {string} disk_type * @returns {string} Resource name string. */ - diskTypePath(project:string,zone:string,diskType:string) { + diskTypePath(project: string, zone: string, diskType: string) { return this.pathTemplates.diskTypePathTemplate.render({ project: project, zone: zone, @@ -1950,7 +2396,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the disk_type. */ matchDiskTypeFromDiskTypeName(diskTypeName: string) { - return this.pathTemplates.diskTypePathTemplate.match(diskTypeName).disk_type; + return this.pathTemplates.diskTypePathTemplate.match(diskTypeName) + .disk_type; } /** @@ -1960,7 +2407,7 @@ export class HypercomputeClusterClient { * @param {string} image * @returns {string} Resource name string. */ - imagePath(project:string,image:string) { + imagePath(project: string, image: string) { return this.pathTemplates.imagePathTemplate.render({ project: project, image: image, @@ -1997,7 +2444,7 @@ export class HypercomputeClusterClient { * @param {string} instance * @returns {string} Resource name string. */ - instancePath(project:string,location:string,instance:string) { + instancePath(project: string, location: string, instance: string) { return this.pathTemplates.instancePathTemplate.render({ project: project, location: location, @@ -2045,7 +2492,7 @@ export class HypercomputeClusterClient { * @param {string} location * @returns {string} Resource name string. */ - locationPath(project:string,location:string) { + locationPath(project: string, location: string) { return this.pathTemplates.locationPathTemplate.render({ project: project, location: location, @@ -2082,7 +2529,11 @@ export class HypercomputeClusterClient { * @param {string} machine_learning_run * @returns {string} Resource name string. */ - machineLearningRunPath(project:string,location:string,machineLearningRun:string) { + machineLearningRunPath( + project: string, + location: string, + machineLearningRun: string, + ) { return this.pathTemplates.machineLearningRunPathTemplate.render({ project: project, location: location, @@ -2098,7 +2549,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromMachineLearningRunName(machineLearningRunName: string) { - return this.pathTemplates.machineLearningRunPathTemplate.match(machineLearningRunName).project; + return this.pathTemplates.machineLearningRunPathTemplate.match( + machineLearningRunName, + ).project; } /** @@ -2109,7 +2562,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the location. */ matchLocationFromMachineLearningRunName(machineLearningRunName: string) { - return this.pathTemplates.machineLearningRunPathTemplate.match(machineLearningRunName).location; + return this.pathTemplates.machineLearningRunPathTemplate.match( + machineLearningRunName, + ).location; } /** @@ -2119,8 +2574,12 @@ export class HypercomputeClusterClient { * A fully-qualified path representing MachineLearningRun resource. * @returns {string} A string representing the machine_learning_run. */ - matchMachineLearningRunFromMachineLearningRunName(machineLearningRunName: string) { - return this.pathTemplates.machineLearningRunPathTemplate.match(machineLearningRunName).machine_learning_run; + matchMachineLearningRunFromMachineLearningRunName( + machineLearningRunName: string, + ) { + return this.pathTemplates.machineLearningRunPathTemplate.match( + machineLearningRunName, + ).machine_learning_run; } /** @@ -2132,7 +2591,12 @@ export class HypercomputeClusterClient { * @param {string} monitored_event * @returns {string} Resource name string. */ - monitoredEventPath(project:string,location:string,machineLearningRun:string,monitoredEvent:string) { + monitoredEventPath( + project: string, + location: string, + machineLearningRun: string, + monitoredEvent: string, + ) { return this.pathTemplates.monitoredEventPathTemplate.render({ project: project, location: location, @@ -2149,7 +2613,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).project; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).project; } /** @@ -2160,7 +2626,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the location. */ matchLocationFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).location; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).location; } /** @@ -2171,7 +2639,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).machine_learning_run; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).machine_learning_run; } /** @@ -2182,7 +2652,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the monitored_event. */ matchMonitoredEventFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).monitored_event; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).monitored_event; } /** @@ -2192,7 +2664,7 @@ export class HypercomputeClusterClient { * @param {string} network * @returns {string} Resource name string. */ - networkPath(project:string,network:string) { + networkPath(project: string, network: string) { return this.pathTemplates.networkPathTemplate.render({ project: project, network: network, @@ -2230,7 +2702,7 @@ export class HypercomputeClusterClient { * @param {string} node * @returns {string} Resource name string. */ - nodePath(project:string,location:string,cluster:string,node:string) { + nodePath(project: string, location: string, cluster: string, node: string) { return this.pathTemplates.nodePathTemplate.render({ project: project, location: location, @@ -2293,7 +2765,13 @@ export class HypercomputeClusterClient { * @param {string} pod * @returns {string} Resource name string. */ - podPath(project:string,location:string,cluster:string,namespace:string,pod:string) { + podPath( + project: string, + location: string, + cluster: string, + namespace: string, + pod: string, + ) { return this.pathTemplates.podPathTemplate.render({ project: project, location: location, @@ -2367,7 +2845,12 @@ export class HypercomputeClusterClient { * @param {string} profile_session * @returns {string} Resource name string. */ - profileSessionPath(project:string,location:string,machineLearningRun:string,profileSession:string) { + profileSessionPath( + project: string, + location: string, + machineLearningRun: string, + profileSession: string, + ) { return this.pathTemplates.profileSessionPathTemplate.render({ project: project, location: location, @@ -2384,7 +2867,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).project; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).project; } /** @@ -2395,7 +2880,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the location. */ matchLocationFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).location; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).location; } /** @@ -2406,7 +2893,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).machine_learning_run; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).machine_learning_run; } /** @@ -2417,7 +2906,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the profile_session. */ matchProfileSessionFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).profile_session; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).profile_session; } /** @@ -2429,7 +2920,12 @@ export class HypercomputeClusterClient { * @param {string} profiler_session * @returns {string} Resource name string. */ - profilerSessionPath(project:string,location:string,machineLearningRun:string,profilerSession:string) { + profilerSessionPath( + project: string, + location: string, + machineLearningRun: string, + profilerSession: string, + ) { return this.pathTemplates.profilerSessionPathTemplate.render({ project: project, location: location, @@ -2446,7 +2942,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).project; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).project; } /** @@ -2457,7 +2955,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the location. */ matchLocationFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).location; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).location; } /** @@ -2468,7 +2968,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).machine_learning_run; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).machine_learning_run; } /** @@ -2479,7 +2981,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the profiler_session. */ matchProfilerSessionFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).profiler_session; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).profiler_session; } /** @@ -2491,7 +2995,12 @@ export class HypercomputeClusterClient { * @param {string} profiler_target * @returns {string} Resource name string. */ - profilerTargetPath(project:string,location:string,machineLearningRun:string,profilerTarget:string) { + profilerTargetPath( + project: string, + location: string, + machineLearningRun: string, + profilerTarget: string, + ) { return this.pathTemplates.profilerTargetPathTemplate.render({ project: project, location: location, @@ -2508,7 +3017,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).project; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).project; } /** @@ -2519,7 +3030,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the location. */ matchLocationFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).location; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).location; } /** @@ -2530,7 +3043,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).machine_learning_run; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).machine_learning_run; } /** @@ -2541,7 +3056,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the profiler_target. */ matchProfilerTargetFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).profiler_target; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).profiler_target; } /** @@ -2550,7 +3067,7 @@ export class HypercomputeClusterClient { * @param {string} project * @returns {string} Resource name string. */ - projectPath(project:string) { + projectPath(project: string) { return this.pathTemplates.projectPathTemplate.render({ project: project, }); @@ -2575,7 +3092,7 @@ export class HypercomputeClusterClient { * @param {string} reservation * @returns {string} Resource name string. */ - reservationPath(project:string,zone:string,reservation:string) { + reservationPath(project: string, zone: string, reservation: string) { return this.pathTemplates.reservationPathTemplate.render({ project: project, zone: zone, @@ -2591,7 +3108,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).project; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .project; } /** @@ -2602,7 +3120,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).zone; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .zone; } /** @@ -2613,7 +3132,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the reservation. */ matchReservationFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).reservation; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .reservation; } /** @@ -2625,7 +3145,12 @@ export class HypercomputeClusterClient { * @param {string} reservation_block * @returns {string} Resource name string. */ - reservationBlockPath(project:string,zone:string,reservation:string,reservationBlock:string) { + reservationBlockPath( + project: string, + zone: string, + reservation: string, + reservationBlock: string, + ) { return this.pathTemplates.reservationBlockPathTemplate.render({ project: project, zone: zone, @@ -2642,7 +3167,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromReservationBlockName(reservationBlockName: string) { - return this.pathTemplates.reservationBlockPathTemplate.match(reservationBlockName).project; + return this.pathTemplates.reservationBlockPathTemplate.match( + reservationBlockName, + ).project; } /** @@ -2653,7 +3180,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromReservationBlockName(reservationBlockName: string) { - return this.pathTemplates.reservationBlockPathTemplate.match(reservationBlockName).zone; + return this.pathTemplates.reservationBlockPathTemplate.match( + reservationBlockName, + ).zone; } /** @@ -2664,7 +3193,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the reservation. */ matchReservationFromReservationBlockName(reservationBlockName: string) { - return this.pathTemplates.reservationBlockPathTemplate.match(reservationBlockName).reservation; + return this.pathTemplates.reservationBlockPathTemplate.match( + reservationBlockName, + ).reservation; } /** @@ -2675,7 +3206,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the reservation_block. */ matchReservationBlockFromReservationBlockName(reservationBlockName: string) { - return this.pathTemplates.reservationBlockPathTemplate.match(reservationBlockName).reservation_block; + return this.pathTemplates.reservationBlockPathTemplate.match( + reservationBlockName, + ).reservation_block; } /** @@ -2688,7 +3221,13 @@ export class HypercomputeClusterClient { * @param {string} reservation_sub_block * @returns {string} Resource name string. */ - reservationSubBlockPath(project:string,zone:string,reservation:string,reservationBlock:string,reservationSubBlock:string) { + reservationSubBlockPath( + project: string, + zone: string, + reservation: string, + reservationBlock: string, + reservationSubBlock: string, + ) { return this.pathTemplates.reservationSubBlockPathTemplate.render({ project: project, zone: zone, @@ -2706,7 +3245,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromReservationSubBlockName(reservationSubBlockName: string) { - return this.pathTemplates.reservationSubBlockPathTemplate.match(reservationSubBlockName).project; + return this.pathTemplates.reservationSubBlockPathTemplate.match( + reservationSubBlockName, + ).project; } /** @@ -2717,7 +3258,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromReservationSubBlockName(reservationSubBlockName: string) { - return this.pathTemplates.reservationSubBlockPathTemplate.match(reservationSubBlockName).zone; + return this.pathTemplates.reservationSubBlockPathTemplate.match( + reservationSubBlockName, + ).zone; } /** @@ -2728,7 +3271,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the reservation. */ matchReservationFromReservationSubBlockName(reservationSubBlockName: string) { - return this.pathTemplates.reservationSubBlockPathTemplate.match(reservationSubBlockName).reservation; + return this.pathTemplates.reservationSubBlockPathTemplate.match( + reservationSubBlockName, + ).reservation; } /** @@ -2738,8 +3283,12 @@ export class HypercomputeClusterClient { * A fully-qualified path representing ReservationSubBlock resource. * @returns {string} A string representing the reservation_block. */ - matchReservationBlockFromReservationSubBlockName(reservationSubBlockName: string) { - return this.pathTemplates.reservationSubBlockPathTemplate.match(reservationSubBlockName).reservation_block; + matchReservationBlockFromReservationSubBlockName( + reservationSubBlockName: string, + ) { + return this.pathTemplates.reservationSubBlockPathTemplate.match( + reservationSubBlockName, + ).reservation_block; } /** @@ -2749,8 +3298,12 @@ export class HypercomputeClusterClient { * A fully-qualified path representing ReservationSubBlock resource. * @returns {string} A string representing the reservation_sub_block. */ - matchReservationSubBlockFromReservationSubBlockName(reservationSubBlockName: string) { - return this.pathTemplates.reservationSubBlockPathTemplate.match(reservationSubBlockName).reservation_sub_block; + matchReservationSubBlockFromReservationSubBlockName( + reservationSubBlockName: string, + ) { + return this.pathTemplates.reservationSubBlockPathTemplate.match( + reservationSubBlockName, + ).reservation_sub_block; } /** @@ -2761,7 +3314,7 @@ export class HypercomputeClusterClient { * @param {string} subnetwork * @returns {string} Resource name string. */ - subnetworkPath(project:string,region:string,subnetwork:string) { + subnetworkPath(project: string, region: string, subnetwork: string) { return this.pathTemplates.subnetworkPathTemplate.render({ project: project, region: region, @@ -2777,7 +3330,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).project; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .project; } /** @@ -2788,7 +3342,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the region. */ matchRegionFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).region; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .region; } /** @@ -2799,7 +3354,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the subnetwork. */ matchSubnetworkFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).subnetwork; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .subnetwork; } /** @@ -2810,14 +3366,16 @@ export class HypercomputeClusterClient { */ close(): Promise { if (this.hypercomputeClusterStub && !this._terminated) { - return this.hypercomputeClusterStub.then(stub => { + return this.hypercomputeClusterStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); void this.operationsClient.close(); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-hypercomputecluster/src/v1alpha/index.ts b/packages/google-cloud-hypercomputecluster/src/v1alpha/index.ts index d8e9732630c1..e6340c61167d 100644 --- a/packages/google-cloud-hypercomputecluster/src/v1alpha/index.ts +++ b/packages/google-cloud-hypercomputecluster/src/v1alpha/index.ts @@ -16,5 +16,5 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {HypercomputeClusterClient} from './hypercompute_cluster_client'; -export {MachineLearningRunsClient} from './machine_learning_runs_client'; +export { HypercomputeClusterClient } from './hypercompute_cluster_client'; +export { MachineLearningRunsClient } from './machine_learning_runs_client'; diff --git a/packages/google-cloud-hypercomputecluster/src/v1alpha/machine_learning_runs_client.ts b/packages/google-cloud-hypercomputecluster/src/v1alpha/machine_learning_runs_client.ts index 7a1920866054..93f7af13518f 100644 --- a/packages/google-cloud-hypercomputecluster/src/v1alpha/machine_learning_runs_client.ts +++ b/packages/google-cloud-hypercomputecluster/src/v1alpha/machine_learning_runs_client.ts @@ -18,11 +18,22 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOptions, LROperation, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax'; -import {Transform} from 'stream'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GrpcClientOptions, + LROperation, + PaginationCallback, + GaxCall, + LocationsClient, + LocationProtos, +} from 'google-gax'; +import { Transform } from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -44,7 +55,7 @@ export class MachineLearningRunsClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('hypercomputecluster'); @@ -57,11 +68,11 @@ export class MachineLearningRunsClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; + pathTemplates: { [name: string]: gax.PathTemplate }; operationsClient: gax.OperationsClient; - machineLearningRunsStub?: Promise<{[name: string]: Function}>; + machineLearningRunsStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of MachineLearningRunsClient. @@ -102,21 +113,42 @@ export class MachineLearningRunsClient { * const client = new MachineLearningRunsClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof MachineLearningRunsClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'hypercomputecluster.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._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); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -141,7 +173,7 @@ export class MachineLearningRunsClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -155,15 +187,11 @@ export class MachineLearningRunsClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -185,31 +213,31 @@ export class MachineLearningRunsClient { // Create useful helper objects for these. this.pathTemplates = { clusterPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/clusters/{cluster}' + 'projects/{project}/locations/{location}/clusters/{cluster}', ), locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' + 'projects/{project}/locations/{location}', ), machineLearningRunPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}', ), monitoredEventPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event}', ), nodePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/clusters/{cluster}/nodes/{node}' + 'projects/{project}/locations/{location}/clusters/{cluster}/nodes/{node}', ), profileSessionPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profileSessions/{profile_session}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profileSessions/{profile_session}', ), profilerSessionPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session}', ), profilerTargetPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target}' + 'projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target}', ), projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' + 'projects/{project}', ), }; @@ -217,16 +245,31 @@ export class MachineLearningRunsClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this.descriptors.page = { - listMachineLearningRuns: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'machineLearningRuns'), - listProfilerTargets: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'profilerTargets'), - listProfilerSessions: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'profilerSessions'), - listProfileSessions: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'profileSessions'), - listMonitoredEvents: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'monitoredEvents') + listMachineLearningRuns: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'machineLearningRuns', + ), + listProfilerTargets: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'profilerTargets', + ), + listProfilerSessions: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'profilerSessions', + ), + listProfileSessions: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'profileSessions', + ), + listMonitoredEvents: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'monitoredEvents', + ), }; const protoFilesRoot = this._gaxModule.protobufFromJSON(jsonProtos); @@ -235,85 +278,156 @@ export class MachineLearningRunsClient { // rather than holding a request open. const lroOptions: GrpcClientOptions = { auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }; if (opts.fallback) { lroOptions.protoJson = protoFilesRoot; - lroOptions.httpRules = [{selector: 'google.cloud.location.Locations.GetLocation',get: '/v1alpha/{name=projects/*/locations/*}',},{selector: 'google.cloud.location.Locations.ListLocations',get: '/v1alpha/{name=projects/*}/locations',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1alpha/{name=projects/*/locations/*/operations/*}:cancel',body: '*',},{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1alpha/{name=projects/*/locations/*/operations/*}',},{selector: 'google.longrunning.Operations.GetOperation',get: '/v1alpha/{name=projects/*/locations/*/operations/*}',},{selector: 'google.longrunning.Operations.ListOperations',get: '/v1alpha/{name=projects/*/locations/*}/operations',}]; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1alpha/{name=projects/*/locations/*}', + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1alpha/{name=projects/*}/locations', + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1alpha/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1alpha/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1alpha/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1alpha/{name=projects/*/locations/*}/operations', + }, + ]; } - this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts); + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); const createMachineLearningRunResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun', + ) as gax.protobuf.Type; const createMachineLearningRunMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const updateMachineLearningRunResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun', + ) as gax.protobuf.Type; const updateMachineLearningRunMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const deleteMachineLearningRunResponse = protoFilesRoot.lookup( - '.google.protobuf.Empty') as gax.protobuf.Type; + '.google.protobuf.Empty', + ) as gax.protobuf.Type; const deleteMachineLearningRunMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const createProfilerTargetResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget', + ) as gax.protobuf.Type; const createProfilerTargetMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const createProfilerSessionResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.ProfilerSession') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.ProfilerSession', + ) as gax.protobuf.Type; const createProfilerSessionMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const createMonitoredEventResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent', + ) as gax.protobuf.Type; const createMonitoredEventMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const updateMonitoredEventResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent', + ) as gax.protobuf.Type; const updateMonitoredEventMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; const deleteMonitoredEventResponse = protoFilesRoot.lookup( - '.google.protobuf.Empty') as gax.protobuf.Type; + '.google.protobuf.Empty', + ) as gax.protobuf.Type; const deleteMonitoredEventMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1alpha.OperationMetadata', + ) as gax.protobuf.Type; this.descriptors.longrunning = { createMachineLearningRun: new this._gaxModule.LongrunningDescriptor( this.operationsClient, - createMachineLearningRunResponse.decode.bind(createMachineLearningRunResponse), - createMachineLearningRunMetadata.decode.bind(createMachineLearningRunMetadata)), + createMachineLearningRunResponse.decode.bind( + createMachineLearningRunResponse, + ), + createMachineLearningRunMetadata.decode.bind( + createMachineLearningRunMetadata, + ), + ), updateMachineLearningRun: new this._gaxModule.LongrunningDescriptor( this.operationsClient, - updateMachineLearningRunResponse.decode.bind(updateMachineLearningRunResponse), - updateMachineLearningRunMetadata.decode.bind(updateMachineLearningRunMetadata)), + updateMachineLearningRunResponse.decode.bind( + updateMachineLearningRunResponse, + ), + updateMachineLearningRunMetadata.decode.bind( + updateMachineLearningRunMetadata, + ), + ), deleteMachineLearningRun: new this._gaxModule.LongrunningDescriptor( this.operationsClient, - deleteMachineLearningRunResponse.decode.bind(deleteMachineLearningRunResponse), - deleteMachineLearningRunMetadata.decode.bind(deleteMachineLearningRunMetadata)), + deleteMachineLearningRunResponse.decode.bind( + deleteMachineLearningRunResponse, + ), + deleteMachineLearningRunMetadata.decode.bind( + deleteMachineLearningRunMetadata, + ), + ), createProfilerTarget: new this._gaxModule.LongrunningDescriptor( this.operationsClient, createProfilerTargetResponse.decode.bind(createProfilerTargetResponse), - createProfilerTargetMetadata.decode.bind(createProfilerTargetMetadata)), + createProfilerTargetMetadata.decode.bind(createProfilerTargetMetadata), + ), createProfilerSession: new this._gaxModule.LongrunningDescriptor( this.operationsClient, - createProfilerSessionResponse.decode.bind(createProfilerSessionResponse), - createProfilerSessionMetadata.decode.bind(createProfilerSessionMetadata)), + createProfilerSessionResponse.decode.bind( + createProfilerSessionResponse, + ), + createProfilerSessionMetadata.decode.bind( + createProfilerSessionMetadata, + ), + ), createMonitoredEvent: new this._gaxModule.LongrunningDescriptor( this.operationsClient, createMonitoredEventResponse.decode.bind(createMonitoredEventResponse), - createMonitoredEventMetadata.decode.bind(createMonitoredEventMetadata)), + createMonitoredEventMetadata.decode.bind(createMonitoredEventMetadata), + ), updateMonitoredEvent: new this._gaxModule.LongrunningDescriptor( this.operationsClient, updateMonitoredEventResponse.decode.bind(updateMonitoredEventResponse), - updateMonitoredEventMetadata.decode.bind(updateMonitoredEventMetadata)), + updateMonitoredEventMetadata.decode.bind(updateMonitoredEventMetadata), + ), deleteMonitoredEvent: new this._gaxModule.LongrunningDescriptor( this.operationsClient, deleteMonitoredEventResponse.decode.bind(deleteMonitoredEventResponse), - deleteMonitoredEventMetadata.decode.bind(deleteMonitoredEventMetadata)) + deleteMonitoredEventMetadata.decode.bind(deleteMonitoredEventMetadata), + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.hypercomputecluster.v1alpha.MachineLearningRuns', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.hypercomputecluster.v1alpha.MachineLearningRuns', + 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 @@ -344,28 +458,55 @@ export class MachineLearningRunsClient { // Put together the "service stub" for // google.cloud.hypercomputecluster.v1alpha.MachineLearningRuns. this.machineLearningRunsStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.hypercomputecluster.v1alpha.MachineLearningRuns') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.hypercomputecluster.v1alpha.MachineLearningRuns, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.hypercomputecluster.v1alpha.MachineLearningRuns', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.hypercomputecluster.v1alpha + .MachineLearningRuns, + 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 machineLearningRunsStubMethods = - ['createMachineLearningRun', 'updateMachineLearningRun', 'deleteMachineLearningRun', 'getMachineLearningRun', 'listMachineLearningRuns', 'createProfilerTarget', 'getProfilerTarget', 'listProfilerTargets', 'deleteProfilerTarget', 'createProfilerSession', 'getProfilerSession', 'listProfilerSessions', 'deleteProfilerSession', 'getProfileSession', 'listProfileSessions', 'createMonitoredEvent', 'getMonitoredEvent', 'listMonitoredEvents', 'updateMonitoredEvent', 'deleteMonitoredEvent']; + const machineLearningRunsStubMethods = [ + 'createMachineLearningRun', + 'updateMachineLearningRun', + 'deleteMachineLearningRun', + 'getMachineLearningRun', + 'listMachineLearningRuns', + 'createProfilerTarget', + 'getProfilerTarget', + 'listProfilerTargets', + 'deleteProfilerTarget', + 'createProfilerSession', + 'getProfilerSession', + 'listProfilerSessions', + 'deleteProfilerSession', + 'getProfileSession', + 'listProfileSessions', + 'createMonitoredEvent', + 'getMonitoredEvent', + 'listMonitoredEvents', + 'updateMonitoredEvent', + 'deleteMonitoredEvent', + ]; for (const methodName of machineLearningRunsStubMethods) { const callPromise = this.machineLearningRunsStub.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) => () => { + (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] || @@ -375,7 +516,7 @@ export class MachineLearningRunsClient { callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -390,8 +531,14 @@ export class MachineLearningRunsClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -402,8 +549,14 @@ export class MachineLearningRunsClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -434,9 +587,7 @@ export class MachineLearningRunsClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -445,8 +596,9 @@ export class MachineLearningRunsClient { * 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 { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -457,1706 +609,2574 @@ export class MachineLearningRunsClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Gets a Machine Learning Run. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.get_machine_learning_run.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetMachineLearningRun_async - */ + /** + * Gets a Machine Learning Run. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.get_machine_learning_run.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetMachineLearningRun_async + */ getMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | undefined + ), + {} | undefined, + ] + >; getMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getMachineLearningRun request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getMachineLearningRun response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getMachineLearningRun(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest|undefined, - {}|undefined - ]) => { - this._log.info('getMachineLearningRun response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getMachineLearningRun(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMachineLearningRunRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getMachineLearningRun response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets a Profiler Target. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target} - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.get_profiler_target.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetProfilerTarget_async - */ + /** + * Gets a Profiler Target. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target} + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.get_profiler_target.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetProfilerTarget_async + */ getProfilerTarget( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | undefined + ), + {} | undefined, + ] + >; getProfilerTarget( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getProfilerTarget( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getProfilerTarget( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getProfilerTarget request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getProfilerTarget response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getProfilerTarget(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest|undefined, - {}|undefined - ]) => { - this._log.info('getProfilerTarget response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getProfilerTarget(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerTargetRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getProfilerTarget response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Delete a Profiler Target. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the profiler target to delete. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target} - * @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 {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.delete_profiler_target.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteProfilerTarget_async - */ + /** + * Delete a Profiler Target. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the profiler target to delete. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerTargets/{profiler_target} + * @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 {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.delete_profiler_target.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteProfilerTarget_async + */ deleteProfilerTarget( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | undefined + ), + {} | undefined, + ] + >; deleteProfilerTarget( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteProfilerTarget( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteProfilerTarget( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteProfilerTarget request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteProfilerTarget response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteProfilerTarget(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteProfilerTarget response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteProfilerTarget(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerTargetRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteProfilerTarget response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Get Profiler Session. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session} - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.get_profiler_session.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetProfilerSession_async - */ + /** + * Get Profiler Session. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session} + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.get_profiler_session.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetProfilerSession_async + */ getProfilerSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | undefined + ), + {} | undefined, + ] + >; getProfilerSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getProfilerSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getProfilerSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getProfilerSession request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getProfilerSession response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getProfilerSession(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest|undefined, - {}|undefined - ]) => { - this._log.info('getProfilerSession response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getProfilerSession(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfilerSessionRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getProfilerSession response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Delete a Profiler Session. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the profiler session to delete. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session} - * @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 {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.delete_profiler_session.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteProfilerSession_async - */ + /** + * Delete a Profiler Session. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the profiler session to delete. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profilerSessions/{profiler_session} + * @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 {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.delete_profiler_session.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteProfilerSession_async + */ deleteProfilerSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | undefined + ), + {} | undefined, + ] + >; deleteProfilerSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteProfilerSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): void; deleteProfilerSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, - optionsOrCallback?: CallOptions|Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('deleteProfilerSession request %j', request); - const wrappedCallback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('deleteProfilerSession response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.deleteProfilerSession(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.protobuf.IEmpty, - protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest|undefined, - {}|undefined - ]) => { - this._log.info('deleteProfilerSession response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .deleteProfilerSession(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IDeleteProfilerSessionRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('deleteProfilerSession response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Deprecated: Use `GetProfilerSession` instead. - * Gets a Profile Session. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profileSessions/{profileSession} - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.get_profile_session.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetProfileSession_async - * @deprecated GetProfileSession is deprecated and may be removed in a future version. - */ + /** + * Deprecated: Use `GetProfilerSession` instead. + * Gets a Profile Session. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/profileSessions/{profileSession} + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.get_profile_session.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetProfileSession_async + * @deprecated GetProfileSession is deprecated and may be removed in a future version. + */ getProfileSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | undefined + ), + {} | undefined, + ] + >; getProfileSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getProfileSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getProfileSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - this.warn('DEP$MachineLearningRuns-$GetProfileSession','GetProfileSession is deprecated and may be removed in a future version.', 'DeprecationWarning'); + this.warn( + 'DEP$MachineLearningRuns-$GetProfileSession', + 'GetProfileSession is deprecated and may be removed in a future version.', + 'DeprecationWarning', + ); this._log.info('getProfileSession request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getProfileSession response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getProfileSession(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, - protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest|undefined, - {}|undefined - ]) => { - this._log.info('getProfileSession response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getProfileSession(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetProfileSessionRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getProfileSession response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Gets a specific Monitored Event. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the monitored event to retrieve. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event} - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.get_monitored_event.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetMonitoredEvent_async - */ + /** + * Gets a specific Monitored Event. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the monitored event to retrieve. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event} + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.get_monitored_event.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_GetMonitoredEvent_async + */ getMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | undefined + ), + {} | undefined, + ] + >; getMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getMonitoredEvent request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getMonitoredEvent response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getMonitoredEvent(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, - protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest|undefined, - {}|undefined - ]) => { - this._log.info('getMonitoredEvent response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getMonitoredEvent(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + ( + | protos.google.cloud.hypercomputecluster.v1alpha.IGetMonitoredEventRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getMonitoredEvent response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates a Machine Learning Run. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent format: projects/{project}/locations/{location} - * @param {google.cloud.hypercomputecluster.v1alpha.MachineLearningRun} request.machineLearningRun - * Required. The Machine Learning Run to create. - * @param {string} [request.machineLearningRunId] - * Optional. The ID of the Machine Learning Run 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_machine_learning_run.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMachineLearningRun_async - */ + /** + * Creates a Machine Learning Run. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent format: projects/{project}/locations/{location} + * @param {google.cloud.hypercomputecluster.v1alpha.MachineLearningRun} request.machineLearningRun + * Required. The Machine Learning Run to create. + * @param {string} [request.machineLearningRunId] + * Optional. The ID of the Machine Learning Run 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_machine_learning_run.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMachineLearningRun_async + */ createMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; createMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMachineLearningRunRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('createMachineLearningRun response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('createMachineLearningRun request %j', request); - return this.innerApiCalls.createMachineLearningRun(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('createMachineLearningRun response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .createMachineLearningRun(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('createMachineLearningRun response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `createMachineLearningRun()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_machine_learning_run.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMachineLearningRun_async - */ - async checkCreateMachineLearningRunProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `createMachineLearningRun()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_machine_learning_run.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMachineLearningRun_async + */ + async checkCreateMachineLearningRunProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('createMachineLearningRun long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.createMachineLearningRun, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.createMachineLearningRun, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Updates an Machine Learning Run. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.hypercomputecluster.v1alpha.MachineLearningRun} request.machineLearningRun - * Required. The Machine Learning Run to update. - * @param {google.protobuf.FieldMask} [request.updateMask] - * Optional. Used to identify fields to be updated. Allowed fields is *, we - * don't support partial updates. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.update_machine_learning_run.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMachineLearningRun_async - */ + /** + * Updates an Machine Learning Run. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.hypercomputecluster.v1alpha.MachineLearningRun} request.machineLearningRun + * Required. The Machine Learning Run to update. + * @param {google.protobuf.FieldMask} [request.updateMask] + * Optional. Used to identify fields to be updated. Allowed fields is *, we + * don't support partial updates. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.update_machine_learning_run.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMachineLearningRun_async + */ updateMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; updateMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMachineLearningRunRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'machine_learning_run.name': request.machineLearningRun!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'machine_learning_run.name': request.machineLearningRun!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('updateMachineLearningRun response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('updateMachineLearningRun request %j', request); - return this.innerApiCalls.updateMachineLearningRun(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('updateMachineLearningRun response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .updateMachineLearningRun(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('updateMachineLearningRun response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `updateMachineLearningRun()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.update_machine_learning_run.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMachineLearningRun_async - */ - async checkUpdateMachineLearningRunProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `updateMachineLearningRun()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.update_machine_learning_run.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMachineLearningRun_async + */ + async checkUpdateMachineLearningRunProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('updateMachineLearningRun long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.updateMachineLearningRun, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.updateMachineLearningRun, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Deletes a Machine Learning Run. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machineLearningRun} - * @param {boolean} [request.force] - * Optional. If force=false and if a user tries to delete an ml run resource - * that still has child resources (e.g., ProfilerTarget), the request should - * fail with a FAILED_PRECONDITION error. If force=true, the delete request - * should delete both parent and child resources that exist. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.delete_machine_learning_run.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMachineLearningRun_async - */ + /** + * Deletes a Machine Learning Run. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machineLearningRun} + * @param {boolean} [request.force] + * Optional. If force=false and if a user tries to delete an ml run resource + * that still has child resources (e.g., ProfilerTarget), the request should + * fail with a FAILED_PRECONDITION error. If force=true, the delete request + * should delete both parent and child resources that exist. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.delete_machine_learning_run.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMachineLearningRun_async + */ deleteMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; deleteMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteMachineLearningRun( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteMachineLearningRun( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMachineLearningRunRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('deleteMachineLearningRun response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('deleteMachineLearningRun request %j', request); - return this.innerApiCalls.deleteMachineLearningRun(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('deleteMachineLearningRun response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .deleteMachineLearningRun(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('deleteMachineLearningRun response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `deleteMachineLearningRun()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.delete_machine_learning_run.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMachineLearningRun_async - */ - async checkDeleteMachineLearningRunProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `deleteMachineLearningRun()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.delete_machine_learning_run.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMachineLearningRun_async + */ + async checkDeleteMachineLearningRunProgress( + name: string, + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('deleteMachineLearningRun long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.deleteMachineLearningRun, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.deleteMachineLearningRun, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Creates a Profiler Target. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {google.cloud.hypercomputecluster.v1alpha.ProfilerTarget} request.profilerTarget - * Required. The Profiler Target to create. - * @param {string} [request.profilerTargetId] - * Optional. If not provided, the server will generate an ID based on hostname - * and node_index. Example: "myhost-0" - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_target.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerTarget_async - */ + /** + * Creates a Profiler Target. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {google.cloud.hypercomputecluster.v1alpha.ProfilerTarget} request.profilerTarget + * Required. The Profiler Target to create. + * @param {string} [request.profilerTargetId] + * Optional. If not provided, the server will generate an ID based on hostname + * and node_index. Example: "myhost-0" + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_target.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerTarget_async + */ createProfilerTarget( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; createProfilerTarget( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createProfilerTarget( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createProfilerTarget( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerTargetRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('createProfilerTarget response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('createProfilerTarget request %j', request); - return this.innerApiCalls.createProfilerTarget(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('createProfilerTarget response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .createProfilerTarget(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('createProfilerTarget response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `createProfilerTarget()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_target.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerTarget_async - */ - async checkCreateProfilerTargetProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `createProfilerTarget()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_target.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerTarget_async + */ + async checkCreateProfilerTargetProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('createProfilerTarget long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.createProfilerTarget, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.createProfilerTarget, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Create a Profiler Session. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {string} [request.profilerSessionId] - * Optional. ID for the profiler session. - * @param {google.cloud.hypercomputecluster.v1alpha.ProfilerSession} request.profilerSession - * Required. The Profiler Session 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_session.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerSession_async - */ + /** + * Create a Profiler Session. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {string} [request.profilerSessionId] + * Optional. ID for the profiler session. + * @param {google.cloud.hypercomputecluster.v1alpha.ProfilerSession} request.profilerSession + * Required. The Profiler Session 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_session.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerSession_async + */ createProfilerSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; createProfilerSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createProfilerSession( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createProfilerSession( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateProfilerSessionRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('createProfilerSession response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('createProfilerSession request %j', request); - return this.innerApiCalls.createProfilerSession(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('createProfilerSession response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .createProfilerSession(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('createProfilerSession response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `createProfilerSession()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_session.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerSession_async - */ - async checkCreateProfilerSessionProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `createProfilerSession()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_profiler_session.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateProfilerSession_async + */ + async checkCreateProfilerSessionProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('createProfilerSession long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.createProfilerSession, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.createProfilerSession, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Creates a Monitored Event. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent resource where the event will be created. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {google.cloud.hypercomputecluster.v1alpha.MonitoredEvent} request.monitoredEvent - * Required. The event resource to create. - * @param {string} [request.monitoredEventId] - * Optional. Optional ID for the event. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_monitored_event.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMonitoredEvent_async - */ + /** + * Creates a Monitored Event. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent resource where the event will be created. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {google.cloud.hypercomputecluster.v1alpha.MonitoredEvent} request.monitoredEvent + * Required. The event resource to create. + * @param {string} [request.monitoredEventId] + * Optional. Optional ID for the event. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_monitored_event.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMonitoredEvent_async + */ createMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; createMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.ICreateMonitoredEventRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('createMonitoredEvent response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('createMonitoredEvent request %j', request); - return this.innerApiCalls.createMonitoredEvent(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('createMonitoredEvent response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .createMonitoredEvent(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('createMonitoredEvent response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `createMonitoredEvent()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.create_monitored_event.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMonitoredEvent_async - */ - async checkCreateMonitoredEventProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `createMonitoredEvent()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.create_monitored_event.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_CreateMonitoredEvent_async + */ + async checkCreateMonitoredEventProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('createMonitoredEvent long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.createMonitoredEvent, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.createMonitoredEvent, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Updates a Monitored Event. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.hypercomputecluster.v1alpha.MonitoredEvent} request.monitoredEvent - * Required. The monitored event to update. - * - * The event's `name` field is used to identify the event to be updated. - * @param {google.protobuf.FieldMask} [request.updateMask] - * Optional. The list of fields to be 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.update_monitored_event.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMonitoredEvent_async - */ + /** + * Updates a Monitored Event. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.hypercomputecluster.v1alpha.MonitoredEvent} request.monitoredEvent + * Required. The monitored event to update. + * + * The event's `name` field is used to identify the event to be updated. + * @param {google.protobuf.FieldMask} [request.updateMask] + * Optional. The list of fields to be 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.update_monitored_event.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMonitoredEvent_async + */ updateMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; updateMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.IUpdateMonitoredEventRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'monitored_event.name': request.monitoredEvent!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'monitored_event.name': request.monitoredEvent!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('updateMonitoredEvent response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('updateMonitoredEvent request %j', request); - return this.innerApiCalls.updateMonitoredEvent(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('updateMonitoredEvent response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .updateMonitoredEvent(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('updateMonitoredEvent response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `updateMonitoredEvent()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.update_monitored_event.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMonitoredEvent_async - */ - async checkUpdateMonitoredEventProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `updateMonitoredEvent()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.update_monitored_event.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_UpdateMonitoredEvent_async + */ + async checkUpdateMonitoredEventProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('updateMonitoredEvent long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.updateMonitoredEvent, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.updateMonitoredEvent, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; } -/** - * Deletes a Monitored Event. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the monitored event to delete. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event} - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.delete_monitored_event.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMonitoredEvent_async - */ + /** + * Deletes a Monitored Event. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the monitored event to delete. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run}/monitoredEvents/{monitored_event} + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.delete_monitored_event.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMonitoredEvent_async + */ deleteMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; deleteMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteMonitoredEvent( - request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteMonitoredEvent( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1alpha.IDeleteMonitoredEventRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('deleteMonitoredEvent response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('deleteMonitoredEvent request %j', request); - return this.innerApiCalls.deleteMonitoredEvent(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('deleteMonitoredEvent response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .deleteMonitoredEvent(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('deleteMonitoredEvent response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `deleteMonitoredEvent()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.delete_monitored_event.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMonitoredEvent_async - */ - async checkDeleteMonitoredEventProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `deleteMonitoredEvent()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.delete_monitored_event.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_DeleteMonitoredEvent_async + */ + async checkDeleteMonitoredEventProgress( + name: string, + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + > + > { this._log.info('deleteMonitoredEvent long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.deleteMonitoredEvent, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; - } - /** - * Lists Machine Learning Runs. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. projects/{project}/locations/{location} - * @param {number} [request.pageSize] - * Optional. The maximum number of Machine Learning Runs to return. The - * service may return fewer than this value. If unspecified, at most 10 - * Machine Learning Runs will be returned. The maximum value is 1000; values - * above 1000 will be coerced to 1000. Please refer to - * https://google.aip.dev/158 for more details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListMachineLearningRuns` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @param {string} [request.filter] - * Optional. An expression for filtering the results of the request. - * - * Supported filter fields are: - * - run_id (string): The ID of the run (e.g., "run-1"). - * - run_set (string): The run set (e.g., "run-set-1"). - * - display_name (string): The display name of the run (e.g., - * "display-name-1"). - * - state (enum): The state of the run (e.g., "STATE_COMPLETED"). - * - region (string): The region of the run (e.g., "us-central1"). - * - orchestrator (enum): The orchestrator used for the run (e.g., - * "ORCHESTRATOR_GKE"). - * - create_time (timestamp): The creation timestamp of the run. - * - update_time (timestamp): The last update timestamp of the run. - * - etag (string): The ETag of the run. - * - * Filter expressions can be combined using "AND" and "OR" operators. - * - * Examples: - * - * To filter by a single field: - * - * `run_set = "run-set-1"` - * `state = "STATE_ACTIVE"` - * - * To filter by multiple fields: - * - * `run_set = "run-set-1" AND state = "STATE_ACTIVE"` - * `region = "us-central1" AND orchestrator = "ORCHESTRATOR_GKE"` - * - * To filter by timestamp: - * - * `create_time > "2025-05-26T10:00:00Z"` - * @param {string} [request.orderBy] - * Optional. A comma-separated list of fields to order by, sorted in ascending - * order. Use "desc" after a field name for descending. - * - * Supported fields: - * - * * `run_id` - * * `run_set` - * * `display_name` - * * `region` - * * `orchestrator` - * * `state` - * * `create_time` - * * `update_time` - * - * Example: `update_time desc, create_time`. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun}. - * 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 `listMachineLearningRunsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.deleteMonitoredEvent, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1alpha.OperationMetadata + >; + } + /** + * Lists Machine Learning Runs. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. projects/{project}/locations/{location} + * @param {number} [request.pageSize] + * Optional. The maximum number of Machine Learning Runs to return. The + * service may return fewer than this value. If unspecified, at most 10 + * Machine Learning Runs will be returned. The maximum value is 1000; values + * above 1000 will be coerced to 1000. Please refer to + * https://google.aip.dev/158 for more details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListMachineLearningRuns` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @param {string} [request.filter] + * Optional. An expression for filtering the results of the request. + * + * Supported filter fields are: + * - run_id (string): The ID of the run (e.g., "run-1"). + * - run_set (string): The run set (e.g., "run-set-1"). + * - display_name (string): The display name of the run (e.g., + * "display-name-1"). + * - state (enum): The state of the run (e.g., "STATE_COMPLETED"). + * - region (string): The region of the run (e.g., "us-central1"). + * - orchestrator (enum): The orchestrator used for the run (e.g., + * "ORCHESTRATOR_GKE"). + * - create_time (timestamp): The creation timestamp of the run. + * - update_time (timestamp): The last update timestamp of the run. + * - etag (string): The ETag of the run. + * + * Filter expressions can be combined using "AND" and "OR" operators. + * + * Examples: + * + * To filter by a single field: + * + * `run_set = "run-set-1"` + * `state = "STATE_ACTIVE"` + * + * To filter by multiple fields: + * + * `run_set = "run-set-1" AND state = "STATE_ACTIVE"` + * `region = "us-central1" AND orchestrator = "ORCHESTRATOR_GKE"` + * + * To filter by timestamp: + * + * `create_time > "2025-05-26T10:00:00Z"` + * @param {string} [request.orderBy] + * Optional. A comma-separated list of fields to order by, sorted in ascending + * order. Use "desc" after a field name for descending. + * + * Supported fields: + * + * * `run_id` + * * `run_set` + * * `display_name` + * * `region` + * * `orchestrator` + * * `state` + * * `create_time` + * * `update_time` + * + * Example: `update_time desc, create_time`. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun}. + * 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 `listMachineLearningRunsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listMachineLearningRuns( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[], - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[], + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse, + ] + >; listMachineLearningRuns( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun + >, + ): void; listMachineLearningRuns( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun + >, + ): void; listMachineLearningRuns( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[], - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[], + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listMachineLearningRuns values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2165,306 +3185,335 @@ export class MachineLearningRunsClient { this._log.info('listMachineLearningRuns request %j', request); return this.innerApiCalls .listMachineLearningRuns(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[], - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse - ]) => { - this._log.info('listMachineLearningRuns values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[], + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsResponse, + ]) => { + this._log.info('listMachineLearningRuns values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listMachineLearningRuns`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. projects/{project}/locations/{location} - * @param {number} [request.pageSize] - * Optional. The maximum number of Machine Learning Runs to return. The - * service may return fewer than this value. If unspecified, at most 10 - * Machine Learning Runs will be returned. The maximum value is 1000; values - * above 1000 will be coerced to 1000. Please refer to - * https://google.aip.dev/158 for more details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListMachineLearningRuns` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @param {string} [request.filter] - * Optional. An expression for filtering the results of the request. - * - * Supported filter fields are: - * - run_id (string): The ID of the run (e.g., "run-1"). - * - run_set (string): The run set (e.g., "run-set-1"). - * - display_name (string): The display name of the run (e.g., - * "display-name-1"). - * - state (enum): The state of the run (e.g., "STATE_COMPLETED"). - * - region (string): The region of the run (e.g., "us-central1"). - * - orchestrator (enum): The orchestrator used for the run (e.g., - * "ORCHESTRATOR_GKE"). - * - create_time (timestamp): The creation timestamp of the run. - * - update_time (timestamp): The last update timestamp of the run. - * - etag (string): The ETag of the run. - * - * Filter expressions can be combined using "AND" and "OR" operators. - * - * Examples: - * - * To filter by a single field: - * - * `run_set = "run-set-1"` - * `state = "STATE_ACTIVE"` - * - * To filter by multiple fields: - * - * `run_set = "run-set-1" AND state = "STATE_ACTIVE"` - * `region = "us-central1" AND orchestrator = "ORCHESTRATOR_GKE"` - * - * To filter by timestamp: - * - * `create_time > "2025-05-26T10:00:00Z"` - * @param {string} [request.orderBy] - * Optional. A comma-separated list of fields to order by, sorted in ascending - * order. Use "desc" after a field name for descending. - * - * Supported fields: - * - * * `run_id` - * * `run_set` - * * `display_name` - * * `region` - * * `orchestrator` - * * `state` - * * `create_time` - * * `update_time` - * - * Example: `update_time desc, create_time`. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun} 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 `listMachineLearningRunsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listMachineLearningRuns`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. projects/{project}/locations/{location} + * @param {number} [request.pageSize] + * Optional. The maximum number of Machine Learning Runs to return. The + * service may return fewer than this value. If unspecified, at most 10 + * Machine Learning Runs will be returned. The maximum value is 1000; values + * above 1000 will be coerced to 1000. Please refer to + * https://google.aip.dev/158 for more details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListMachineLearningRuns` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @param {string} [request.filter] + * Optional. An expression for filtering the results of the request. + * + * Supported filter fields are: + * - run_id (string): The ID of the run (e.g., "run-1"). + * - run_set (string): The run set (e.g., "run-set-1"). + * - display_name (string): The display name of the run (e.g., + * "display-name-1"). + * - state (enum): The state of the run (e.g., "STATE_COMPLETED"). + * - region (string): The region of the run (e.g., "us-central1"). + * - orchestrator (enum): The orchestrator used for the run (e.g., + * "ORCHESTRATOR_GKE"). + * - create_time (timestamp): The creation timestamp of the run. + * - update_time (timestamp): The last update timestamp of the run. + * - etag (string): The ETag of the run. + * + * Filter expressions can be combined using "AND" and "OR" operators. + * + * Examples: + * + * To filter by a single field: + * + * `run_set = "run-set-1"` + * `state = "STATE_ACTIVE"` + * + * To filter by multiple fields: + * + * `run_set = "run-set-1" AND state = "STATE_ACTIVE"` + * `region = "us-central1" AND orchestrator = "ORCHESTRATOR_GKE"` + * + * To filter by timestamp: + * + * `create_time > "2025-05-26T10:00:00Z"` + * @param {string} [request.orderBy] + * Optional. A comma-separated list of fields to order by, sorted in ascending + * order. Use "desc" after a field name for descending. + * + * Supported fields: + * + * * `run_id` + * * `run_set` + * * `display_name` + * * `region` + * * `orchestrator` + * * `state` + * * `create_time` + * * `update_time` + * + * Example: `update_time desc, create_time`. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun} 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 `listMachineLearningRunsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listMachineLearningRunsStream( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listMachineLearningRuns']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listMachineLearningRuns stream %j', request); return this.descriptors.page.listMachineLearningRuns.createStream( this.innerApiCalls.listMachineLearningRuns as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listMachineLearningRuns`, 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. projects/{project}/locations/{location} - * @param {number} [request.pageSize] - * Optional. The maximum number of Machine Learning Runs to return. The - * service may return fewer than this value. If unspecified, at most 10 - * Machine Learning Runs will be returned. The maximum value is 1000; values - * above 1000 will be coerced to 1000. Please refer to - * https://google.aip.dev/158 for more details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListMachineLearningRuns` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @param {string} [request.filter] - * Optional. An expression for filtering the results of the request. - * - * Supported filter fields are: - * - run_id (string): The ID of the run (e.g., "run-1"). - * - run_set (string): The run set (e.g., "run-set-1"). - * - display_name (string): The display name of the run (e.g., - * "display-name-1"). - * - state (enum): The state of the run (e.g., "STATE_COMPLETED"). - * - region (string): The region of the run (e.g., "us-central1"). - * - orchestrator (enum): The orchestrator used for the run (e.g., - * "ORCHESTRATOR_GKE"). - * - create_time (timestamp): The creation timestamp of the run. - * - update_time (timestamp): The last update timestamp of the run. - * - etag (string): The ETag of the run. - * - * Filter expressions can be combined using "AND" and "OR" operators. - * - * Examples: - * - * To filter by a single field: - * - * `run_set = "run-set-1"` - * `state = "STATE_ACTIVE"` - * - * To filter by multiple fields: - * - * `run_set = "run-set-1" AND state = "STATE_ACTIVE"` - * `region = "us-central1" AND orchestrator = "ORCHESTRATOR_GKE"` - * - * To filter by timestamp: - * - * `create_time > "2025-05-26T10:00:00Z"` - * @param {string} [request.orderBy] - * Optional. A comma-separated list of fields to order by, sorted in ascending - * order. Use "desc" after a field name for descending. - * - * Supported fields: - * - * * `run_id` - * * `run_set` - * * `display_name` - * * `region` - * * `orchestrator` - * * `state` - * * `create_time` - * * `update_time` - * - * Example: `update_time desc, create_time`. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.list_machine_learning_runs.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListMachineLearningRuns_async - */ + /** + * Equivalent to `listMachineLearningRuns`, 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. projects/{project}/locations/{location} + * @param {number} [request.pageSize] + * Optional. The maximum number of Machine Learning Runs to return. The + * service may return fewer than this value. If unspecified, at most 10 + * Machine Learning Runs will be returned. The maximum value is 1000; values + * above 1000 will be coerced to 1000. Please refer to + * https://google.aip.dev/158 for more details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListMachineLearningRuns` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @param {string} [request.filter] + * Optional. An expression for filtering the results of the request. + * + * Supported filter fields are: + * - run_id (string): The ID of the run (e.g., "run-1"). + * - run_set (string): The run set (e.g., "run-set-1"). + * - display_name (string): The display name of the run (e.g., + * "display-name-1"). + * - state (enum): The state of the run (e.g., "STATE_COMPLETED"). + * - region (string): The region of the run (e.g., "us-central1"). + * - orchestrator (enum): The orchestrator used for the run (e.g., + * "ORCHESTRATOR_GKE"). + * - create_time (timestamp): The creation timestamp of the run. + * - update_time (timestamp): The last update timestamp of the run. + * - etag (string): The ETag of the run. + * + * Filter expressions can be combined using "AND" and "OR" operators. + * + * Examples: + * + * To filter by a single field: + * + * `run_set = "run-set-1"` + * `state = "STATE_ACTIVE"` + * + * To filter by multiple fields: + * + * `run_set = "run-set-1" AND state = "STATE_ACTIVE"` + * `region = "us-central1" AND orchestrator = "ORCHESTRATOR_GKE"` + * + * To filter by timestamp: + * + * `create_time > "2025-05-26T10:00:00Z"` + * @param {string} [request.orderBy] + * Optional. A comma-separated list of fields to order by, sorted in ascending + * order. Use "desc" after a field name for descending. + * + * Supported fields: + * + * * `run_id` + * * `run_set` + * * `display_name` + * * `region` + * * `orchestrator` + * * `state` + * * `create_time` + * * `update_time` + * + * Example: `update_time desc, create_time`. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun|MachineLearningRun}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.list_machine_learning_runs.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListMachineLearningRuns_async + */ listMachineLearningRunsAsync( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMachineLearningRunsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listMachineLearningRuns']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listMachineLearningRuns iterate %j', request); return this.descriptors.page.listMachineLearningRuns.asyncIterate( this.innerApiCalls['listMachineLearningRuns'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * List Profiler Targets for a Machine Learning Run. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of profiler targets to return. The service may - * return fewer than this value. If unspecified, at most 10 profiler targets - * will be returned. The maximum value is 1000; values above 1000 will be - * coerced to 1000. Please refer to https://google.aip.dev/158 for more - * details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfilerTargets` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget}. - * 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 `listProfilerTargetsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * List Profiler Targets for a Machine Learning Run. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of profiler targets to return. The service may + * return fewer than this value. If unspecified, at most 10 profiler targets + * will be returned. The maximum value is 1000; values above 1000 will be + * coerced to 1000. Please refer to https://google.aip.dev/158 for more + * details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfilerTargets` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget}. + * 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 `listProfilerTargetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listProfilerTargets( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse, + ] + >; listProfilerTargets( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget + >, + ): void; listProfilerTargets( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget + >, + ): void; listProfilerTargets( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listProfilerTargets values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2473,210 +3522,239 @@ export class MachineLearningRunsClient { this._log.info('listProfilerTargets request %j', request); return this.innerApiCalls .listProfilerTargets(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse - ]) => { - this._log.info('listProfilerTargets values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsResponse, + ]) => { + this._log.info('listProfilerTargets values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listProfilerTargets`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of profiler targets to return. The service may - * return fewer than this value. If unspecified, at most 10 profiler targets - * will be returned. The maximum value is 1000; values above 1000 will be - * coerced to 1000. Please refer to https://google.aip.dev/158 for more - * details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfilerTargets` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget} 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 `listProfilerTargetsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listProfilerTargets`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of profiler targets to return. The service may + * return fewer than this value. If unspecified, at most 10 profiler targets + * will be returned. The maximum value is 1000; values above 1000 will be + * coerced to 1000. Please refer to https://google.aip.dev/158 for more + * details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfilerTargets` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget} 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 `listProfilerTargetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listProfilerTargetsStream( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listProfilerTargets']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listProfilerTargets stream %j', request); return this.descriptors.page.listProfilerTargets.createStream( this.innerApiCalls.listProfilerTargets as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listProfilerTargets`, 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. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of profiler targets to return. The service may - * return fewer than this value. If unspecified, at most 10 profiler targets - * will be returned. The maximum value is 1000; values above 1000 will be - * coerced to 1000. Please refer to https://google.aip.dev/158 for more - * details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfilerTargets` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.list_profiler_targets.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListProfilerTargets_async - */ + /** + * Equivalent to `listProfilerTargets`, 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. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of profiler targets to return. The service may + * return fewer than this value. If unspecified, at most 10 profiler targets + * will be returned. The maximum value is 1000; values above 1000 will be + * coerced to 1000. Please refer to https://google.aip.dev/158 for more + * details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfilerTargets` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget|ProfilerTarget}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.list_profiler_targets.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListProfilerTargets_async + */ listProfilerTargetsAsync( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerTargetsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listProfilerTargets']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listProfilerTargets iterate %j', request); return this.descriptors.page.listProfilerTargets.asyncIterate( this.innerApiCalls['listProfilerTargets'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists Profiler Sessions for a Machine Learning Run. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of profiler sessions to return. The service - * may return fewer than this value. If unspecified, at most 10 profiler - * sessions will be returned. The maximum value is 1000; values above 1000 - * will be coerced to 1000. Please refer to https://google.aip.dev/158 for - * more details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfilerSessions` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession}. - * 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 `listProfilerSessionsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists Profiler Sessions for a Machine Learning Run. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of profiler sessions to return. The service + * may return fewer than this value. If unspecified, at most 10 profiler + * sessions will be returned. The maximum value is 1000; values above 1000 + * will be coerced to 1000. Please refer to https://google.aip.dev/158 for + * more details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfilerSessions` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession}. + * 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 `listProfilerSessionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listProfilerSessions( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse, + ] + >; listProfilerSessions( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession + >, + ): void; listProfilerSessions( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession + >, + ): void; listProfilerSessions( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listProfilerSessions values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2685,211 +3763,244 @@ export class MachineLearningRunsClient { this._log.info('listProfilerSessions request %j', request); return this.innerApiCalls .listProfilerSessions(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse - ]) => { - this._log.info('listProfilerSessions values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsResponse, + ]) => { + this._log.info('listProfilerSessions values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listProfilerSessions`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of profiler sessions to return. The service - * may return fewer than this value. If unspecified, at most 10 profiler - * sessions will be returned. The maximum value is 1000; values above 1000 - * will be coerced to 1000. Please refer to https://google.aip.dev/158 for - * more details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfilerSessions` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession} 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 `listProfilerSessionsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listProfilerSessions`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of profiler sessions to return. The service + * may return fewer than this value. If unspecified, at most 10 profiler + * sessions will be returned. The maximum value is 1000; values above 1000 + * will be coerced to 1000. Please refer to https://google.aip.dev/158 for + * more details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfilerSessions` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession} 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 `listProfilerSessionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listProfilerSessionsStream( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listProfilerSessions']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listProfilerSessions stream %j', request); return this.descriptors.page.listProfilerSessions.createStream( this.innerApiCalls.listProfilerSessions as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listProfilerSessions`, 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. - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of profiler sessions to return. The service - * may return fewer than this value. If unspecified, at most 10 profiler - * sessions will be returned. The maximum value is 1000; values above 1000 - * will be coerced to 1000. Please refer to https://google.aip.dev/158 for - * more details. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfilerSessions` - * call. Provide this to retrieve the subsequent page. Please refer to - * https://google.aip.dev/158 for more details. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.list_profiler_sessions.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListProfilerSessions_async - */ + /** + * Equivalent to `listProfilerSessions`, 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. + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of profiler sessions to return. The service + * may return fewer than this value. If unspecified, at most 10 profiler + * sessions will be returned. The maximum value is 1000; values above 1000 + * will be coerced to 1000. Please refer to https://google.aip.dev/158 for + * more details. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfilerSessions` + * call. Provide this to retrieve the subsequent page. Please refer to + * https://google.aip.dev/158 for more details. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession|ProfilerSession}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.list_profiler_sessions.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListProfilerSessions_async + */ listProfilerSessionsAsync( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfilerSessionsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listProfilerSessions']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listProfilerSessions iterate %j', request); return this.descriptors.page.listProfilerSessions.asyncIterate( this.innerApiCalls['listProfilerSessions'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Deprecated: Use `ListProfilerSessions` instead. - * Lists Profile Sessions for a Machine Learning Run. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of Profile Sessions to return. The service may - * return fewer than this value. - * If unspecified, at most 50 Profile Sessions will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfileSessions` - * call. Provide this to retrieve the subsequent page. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession}. - * 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 `listProfileSessionsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @deprecated ListProfileSessions is deprecated and may be removed in a future version. - */ + /** + * Deprecated: Use `ListProfilerSessions` instead. + * Lists Profile Sessions for a Machine Learning Run. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of Profile Sessions to return. The service may + * return fewer than this value. + * If unspecified, at most 50 Profile Sessions will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfileSessions` + * call. Provide this to retrieve the subsequent page. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession}. + * 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 `listProfileSessionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @deprecated ListProfileSessions is deprecated and may be removed in a future version. + */ listProfileSessions( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse, + ] + >; listProfileSessions( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession + >, + ): void; listProfileSessions( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession + >, + ): void; listProfileSessions( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - this.warn('DEP$MachineLearningRuns-$ListProfileSessions','ListProfileSessions is deprecated and may be removed in a future version.', 'DeprecationWarning'); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession>|undefined = callback + this.warn( + 'DEP$MachineLearningRuns-$ListProfileSessions', + 'ListProfileSessions is deprecated and may be removed in a future version.', + 'DeprecationWarning', + ); + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listProfileSessions values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -2898,215 +4009,252 @@ export class MachineLearningRunsClient { this._log.info('listProfileSessions request %j', request); return this.innerApiCalls .listProfileSessions(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[], - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse - ]) => { - this._log.info('listProfileSessions values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[], + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsResponse, + ]) => { + this._log.info('listProfileSessions values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listProfileSessions`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of Profile Sessions to return. The service may - * return fewer than this value. - * If unspecified, at most 50 Profile Sessions will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfileSessions` - * call. Provide this to retrieve the subsequent page. - * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession} 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 `listProfileSessionsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @deprecated ListProfileSessions is deprecated and may be removed in a future version. - */ + /** + * Equivalent to `listProfileSessions`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of Profile Sessions to return. The service may + * return fewer than this value. + * If unspecified, at most 50 Profile Sessions will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfileSessions` + * call. Provide this to retrieve the subsequent page. + * @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 {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession} 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 `listProfileSessionsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @deprecated ListProfileSessions is deprecated and may be removed in a future version. + */ listProfileSessionsStream( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listProfileSessions']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); - this.warn('DEP$MachineLearningRuns-$ListProfileSessions','ListProfileSessions is deprecated and may be removed in a future version.', 'DeprecationWarning'); + this.initialize().catch((err) => { + throw err; + }); + this.warn( + 'DEP$MachineLearningRuns-$ListProfileSessions', + 'ListProfileSessions is deprecated and may be removed in a future version.', + 'DeprecationWarning', + ); this._log.info('listProfileSessions stream %j', request); return this.descriptors.page.listProfileSessions.createStream( this.innerApiCalls.listProfileSessions as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listProfileSessions`, 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. Parent format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of Profile Sessions to return. The service may - * return fewer than this value. - * If unspecified, at most 50 Profile Sessions will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListProfileSessions` - * call. Provide this to retrieve the subsequent page. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.list_profile_sessions.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListProfileSessions_async - * @deprecated ListProfileSessions is deprecated and may be removed in a future version. - */ + /** + * Equivalent to `listProfileSessions`, 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. Parent format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of Profile Sessions to return. The service may + * return fewer than this value. + * If unspecified, at most 50 Profile Sessions will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListProfileSessions` + * call. Provide this to retrieve the subsequent page. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession|ProfileSession}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.list_profile_sessions.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListProfileSessions_async + * @deprecated ListProfileSessions is deprecated and may be removed in a future version. + */ listProfileSessionsAsync( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListProfileSessionsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listProfileSessions']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); - this.warn('DEP$MachineLearningRuns-$ListProfileSessions','ListProfileSessions is deprecated and may be removed in a future version.', 'DeprecationWarning'); + this.initialize().catch((err) => { + throw err; + }); + this.warn( + 'DEP$MachineLearningRuns-$ListProfileSessions', + 'ListProfileSessions is deprecated and may be removed in a future version.', + 'DeprecationWarning', + ); this._log.info('listProfileSessions iterate %j', request); return this.descriptors.page.listProfileSessions.asyncIterate( this.innerApiCalls['listProfileSessions'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } - /** - * Lists Monitored Events for a run. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent resource to list events from. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of events to return. The service may return - * fewer than this value. If unspecified, at most 50 events will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListMonitoredEvents` - * call. Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListMonitoredEvents` - * must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression for filtering results. - * @param {string} [request.orderBy] - * Optional. Order by field for sorting 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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent}. - * 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 `listMonitoredEventsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists Monitored Events for a run. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent resource to list events from. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of events to return. The service may return + * fewer than this value. If unspecified, at most 50 events will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListMonitoredEvents` + * call. Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListMonitoredEvents` + * must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression for filtering results. + * @param {string} [request.orderBy] + * Optional. Order by field for sorting 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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent}. + * 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 `listMonitoredEventsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listMonitoredEvents( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[], - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[], + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse, + ] + >; listMonitoredEvents( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent + >, + ): void; listMonitoredEvents( - request: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent>): void; + request: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent + >, + ): void; listMonitoredEvents( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[], - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[], + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + | protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listMonitoredEvents values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -3115,133 +4263,138 @@ export class MachineLearningRunsClient { this._log.info('listMonitoredEvents request %j', request); return this.innerApiCalls .listMonitoredEvents(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[], - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest|null, - protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse - ]) => { - this._log.info('listMonitoredEvents values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[], + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest | null, + protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsResponse, + ]) => { + this._log.info('listMonitoredEvents values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listMonitoredEvents`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent resource to list events from. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of events to return. The service may return - * fewer than this value. If unspecified, at most 50 events will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListMonitoredEvents` - * call. Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListMonitoredEvents` - * must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression for filtering results. - * @param {string} [request.orderBy] - * Optional. Order by field for sorting 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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent} 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 `listMonitoredEventsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listMonitoredEvents`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent resource to list events from. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of events to return. The service may return + * fewer than this value. If unspecified, at most 50 events will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListMonitoredEvents` + * call. Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListMonitoredEvents` + * must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression for filtering results. + * @param {string} [request.orderBy] + * Optional. Order by field for sorting 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 {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent} 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 `listMonitoredEventsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listMonitoredEventsStream( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listMonitoredEvents']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listMonitoredEvents stream %j', request); return this.descriptors.page.listMonitoredEvents.createStream( this.innerApiCalls.listMonitoredEvents as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listMonitoredEvents`, 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. Parent resource to list events from. - * Format: - * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} - * @param {number} [request.pageSize] - * Optional. The maximum number of events to return. The service may return - * fewer than this value. If unspecified, at most 50 events will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListMonitoredEvents` - * call. Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListMonitoredEvents` - * must match the call that provided the page token. - * @param {string} [request.filter] - * Optional. A filter expression for filtering results. - * @param {string} [request.orderBy] - * Optional. Order by field for sorting 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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1alpha/machine_learning_runs.list_monitored_events.js - * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListMonitoredEvents_async - */ + /** + * Equivalent to `listMonitoredEvents`, 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. Parent resource to list events from. + * Format: + * projects/{project}/locations/{location}/machineLearningRuns/{machine_learning_run} + * @param {number} [request.pageSize] + * Optional. The maximum number of events to return. The service may return + * fewer than this value. If unspecified, at most 50 events will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListMonitoredEvents` + * call. Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListMonitoredEvents` + * must match the call that provided the page token. + * @param {string} [request.filter] + * Optional. A filter expression for filtering results. + * @param {string} [request.orderBy] + * Optional. Order by field for sorting 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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent|MonitoredEvent}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1alpha/machine_learning_runs.list_monitored_events.js + * region_tag:hypercomputecluster_v1alpha_generated_MachineLearningRuns_ListMonitoredEvents_async + */ listMonitoredEventsAsync( - request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1alpha.IListMonitoredEventsRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listMonitoredEvents']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listMonitoredEvents iterate %j', request); return this.descriptors.page.listMonitoredEvents.asyncIterate( this.innerApiCalls['listMonitoredEvents'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } -/** + + /** * Gets information about a location. * * @param {Object} request @@ -3276,12 +4429,11 @@ export class MachineLearningRunsClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -3314,12 +4466,12 @@ export class MachineLearningRunsClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } -/** + /** * Gets the latest state of a long-running operation. Clients can use this * method to poll the operation result at intervals as recommended by the API * service. @@ -3362,22 +4514,22 @@ export class MachineLearningRunsClient { protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined - > + >, ): Promise<[protos.google.longrunning.Operation]> { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.getOperation(request, options, callback); } /** @@ -3412,15 +4564,15 @@ export class MachineLearningRunsClient { */ listOperationsAsync( request: protos.google.longrunning.ListOperationsRequest, - options?: gax.CallOptions + options?: gax.CallOptions, ): AsyncIterable { - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.listOperationsAsync(request, options); } /** @@ -3454,7 +4606,7 @@ export class MachineLearningRunsClient { * await client.cancelOperation({name: ''}); * ``` */ - cancelOperation( + cancelOperation( request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: | gax.CallOptions @@ -3467,25 +4619,24 @@ export class MachineLearningRunsClient { protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.cancelOperation(request, options, callback); } - /** * Deletes a long-running operation. This method indicates that the client is * no longer interested in the operation result. It does not cancel the @@ -3524,22 +4675,22 @@ export class MachineLearningRunsClient { protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.deleteOperation(request, options, callback); } @@ -3555,7 +4706,7 @@ export class MachineLearningRunsClient { * @param {string} cluster * @returns {string} Resource name string. */ - clusterPath(project:string,location:string,cluster:string) { + clusterPath(project: string, location: string, cluster: string) { return this.pathTemplates.clusterPathTemplate.render({ project: project, location: location, @@ -3603,7 +4754,7 @@ export class MachineLearningRunsClient { * @param {string} location * @returns {string} Resource name string. */ - locationPath(project:string,location:string) { + locationPath(project: string, location: string) { return this.pathTemplates.locationPathTemplate.render({ project: project, location: location, @@ -3640,7 +4791,11 @@ export class MachineLearningRunsClient { * @param {string} machine_learning_run * @returns {string} Resource name string. */ - machineLearningRunPath(project:string,location:string,machineLearningRun:string) { + machineLearningRunPath( + project: string, + location: string, + machineLearningRun: string, + ) { return this.pathTemplates.machineLearningRunPathTemplate.render({ project: project, location: location, @@ -3656,7 +4811,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the project. */ matchProjectFromMachineLearningRunName(machineLearningRunName: string) { - return this.pathTemplates.machineLearningRunPathTemplate.match(machineLearningRunName).project; + return this.pathTemplates.machineLearningRunPathTemplate.match( + machineLearningRunName, + ).project; } /** @@ -3667,7 +4824,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the location. */ matchLocationFromMachineLearningRunName(machineLearningRunName: string) { - return this.pathTemplates.machineLearningRunPathTemplate.match(machineLearningRunName).location; + return this.pathTemplates.machineLearningRunPathTemplate.match( + machineLearningRunName, + ).location; } /** @@ -3677,8 +4836,12 @@ export class MachineLearningRunsClient { * A fully-qualified path representing MachineLearningRun resource. * @returns {string} A string representing the machine_learning_run. */ - matchMachineLearningRunFromMachineLearningRunName(machineLearningRunName: string) { - return this.pathTemplates.machineLearningRunPathTemplate.match(machineLearningRunName).machine_learning_run; + matchMachineLearningRunFromMachineLearningRunName( + machineLearningRunName: string, + ) { + return this.pathTemplates.machineLearningRunPathTemplate.match( + machineLearningRunName, + ).machine_learning_run; } /** @@ -3690,7 +4853,12 @@ export class MachineLearningRunsClient { * @param {string} monitored_event * @returns {string} Resource name string. */ - monitoredEventPath(project:string,location:string,machineLearningRun:string,monitoredEvent:string) { + monitoredEventPath( + project: string, + location: string, + machineLearningRun: string, + monitoredEvent: string, + ) { return this.pathTemplates.monitoredEventPathTemplate.render({ project: project, location: location, @@ -3707,7 +4875,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the project. */ matchProjectFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).project; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).project; } /** @@ -3718,7 +4888,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the location. */ matchLocationFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).location; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).location; } /** @@ -3729,7 +4901,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).machine_learning_run; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).machine_learning_run; } /** @@ -3740,7 +4914,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the monitored_event. */ matchMonitoredEventFromMonitoredEventName(monitoredEventName: string) { - return this.pathTemplates.monitoredEventPathTemplate.match(monitoredEventName).monitored_event; + return this.pathTemplates.monitoredEventPathTemplate.match( + monitoredEventName, + ).monitored_event; } /** @@ -3752,7 +4928,7 @@ export class MachineLearningRunsClient { * @param {string} node * @returns {string} Resource name string. */ - nodePath(project:string,location:string,cluster:string,node:string) { + nodePath(project: string, location: string, cluster: string, node: string) { return this.pathTemplates.nodePathTemplate.render({ project: project, location: location, @@ -3814,7 +4990,12 @@ export class MachineLearningRunsClient { * @param {string} profile_session * @returns {string} Resource name string. */ - profileSessionPath(project:string,location:string,machineLearningRun:string,profileSession:string) { + profileSessionPath( + project: string, + location: string, + machineLearningRun: string, + profileSession: string, + ) { return this.pathTemplates.profileSessionPathTemplate.render({ project: project, location: location, @@ -3831,7 +5012,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the project. */ matchProjectFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).project; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).project; } /** @@ -3842,7 +5025,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the location. */ matchLocationFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).location; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).location; } /** @@ -3853,7 +5038,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).machine_learning_run; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).machine_learning_run; } /** @@ -3864,7 +5051,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the profile_session. */ matchProfileSessionFromProfileSessionName(profileSessionName: string) { - return this.pathTemplates.profileSessionPathTemplate.match(profileSessionName).profile_session; + return this.pathTemplates.profileSessionPathTemplate.match( + profileSessionName, + ).profile_session; } /** @@ -3876,7 +5065,12 @@ export class MachineLearningRunsClient { * @param {string} profiler_session * @returns {string} Resource name string. */ - profilerSessionPath(project:string,location:string,machineLearningRun:string,profilerSession:string) { + profilerSessionPath( + project: string, + location: string, + machineLearningRun: string, + profilerSession: string, + ) { return this.pathTemplates.profilerSessionPathTemplate.render({ project: project, location: location, @@ -3893,7 +5087,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the project. */ matchProjectFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).project; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).project; } /** @@ -3904,7 +5100,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the location. */ matchLocationFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).location; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).location; } /** @@ -3915,7 +5113,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).machine_learning_run; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).machine_learning_run; } /** @@ -3926,7 +5126,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the profiler_session. */ matchProfilerSessionFromProfilerSessionName(profilerSessionName: string) { - return this.pathTemplates.profilerSessionPathTemplate.match(profilerSessionName).profiler_session; + return this.pathTemplates.profilerSessionPathTemplate.match( + profilerSessionName, + ).profiler_session; } /** @@ -3938,7 +5140,12 @@ export class MachineLearningRunsClient { * @param {string} profiler_target * @returns {string} Resource name string. */ - profilerTargetPath(project:string,location:string,machineLearningRun:string,profilerTarget:string) { + profilerTargetPath( + project: string, + location: string, + machineLearningRun: string, + profilerTarget: string, + ) { return this.pathTemplates.profilerTargetPathTemplate.render({ project: project, location: location, @@ -3955,7 +5162,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the project. */ matchProjectFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).project; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).project; } /** @@ -3966,7 +5175,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the location. */ matchLocationFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).location; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).location; } /** @@ -3977,7 +5188,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the machine_learning_run. */ matchMachineLearningRunFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).machine_learning_run; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).machine_learning_run; } /** @@ -3988,7 +5201,9 @@ export class MachineLearningRunsClient { * @returns {string} A string representing the profiler_target. */ matchProfilerTargetFromProfilerTargetName(profilerTargetName: string) { - return this.pathTemplates.profilerTargetPathTemplate.match(profilerTargetName).profiler_target; + return this.pathTemplates.profilerTargetPathTemplate.match( + profilerTargetName, + ).profiler_target; } /** @@ -3997,7 +5212,7 @@ export class MachineLearningRunsClient { * @param {string} project * @returns {string} Resource name string. */ - projectPath(project:string) { + projectPath(project: string) { return this.pathTemplates.projectPathTemplate.render({ project: project, }); @@ -4022,14 +5237,16 @@ export class MachineLearningRunsClient { */ close(): Promise { if (this.machineLearningRunsStub && !this._terminated) { - return this.machineLearningRunsStub.then(stub => { + return this.machineLearningRunsStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); void this.operationsClient.close(); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-hypercomputecluster/src/v1beta/hypercompute_cluster_client.ts b/packages/google-cloud-hypercomputecluster/src/v1beta/hypercompute_cluster_client.ts index 952a636d185d..b5447e56b4fb 100644 --- a/packages/google-cloud-hypercomputecluster/src/v1beta/hypercompute_cluster_client.ts +++ b/packages/google-cloud-hypercomputecluster/src/v1beta/hypercompute_cluster_client.ts @@ -18,11 +18,22 @@ /* global window */ import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, GrpcClientOptions, LROperation, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax'; -import {Transform} from 'stream'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GrpcClientOptions, + LROperation, + PaginationCallback, + GaxCall, + LocationsClient, + LocationProtos, +} from 'google-gax'; +import { Transform } from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); -import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; /** * Client JSON configuration object, loaded from @@ -44,7 +55,7 @@ export class HypercomputeClusterClient { private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; + private _defaults: { [method: string]: gax.CallSettings }; private _universeDomain: string; private _servicePath: string; private _log = logging.log('hypercomputecluster'); @@ -57,11 +68,11 @@ export class HypercomputeClusterClient { batching: {}, }; warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; + innerApiCalls: { [name: string]: Function }; locationsClient: LocationsClient; - pathTemplates: {[name: string]: gax.PathTemplate}; + pathTemplates: { [name: string]: gax.PathTemplate }; operationsClient: gax.OperationsClient; - hypercomputeClusterStub?: Promise<{[name: string]: Function}>; + hypercomputeClusterStub?: Promise<{ [name: string]: Function }>; /** * Construct an instance of HypercomputeClusterClient. @@ -102,21 +113,42 @@ export class HypercomputeClusterClient { * const client = new HypercomputeClusterClient({fallback: true}, gax); * ``` */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof HypercomputeClusterClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; this._servicePath = 'hypercomputecluster.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._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); + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); // Request numeric enum values if REST transport is used. opts.numericEnums = true; @@ -141,7 +173,7 @@ export class HypercomputeClusterClient { this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Set useJWTAccessWithScope on the auth object. this.auth.useJWTAccessWithScope = true; @@ -155,15 +187,11 @@ export class HypercomputeClusterClient { } this.locationsClient = new this._gaxModule.LocationsClient( this._gaxGrpc, - opts + opts, ); - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process === 'object' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { @@ -185,34 +213,34 @@ export class HypercomputeClusterClient { // Create useful helper objects for these. this.pathTemplates = { bucketPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/buckets/{bucket}' + 'projects/{project}/buckets/{bucket}', ), clusterPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/clusters/{cluster}' + 'projects/{project}/locations/{location}/clusters/{cluster}', ), computeInstancePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/instances/{instance}' + 'projects/{project}/zones/{zone}/instances/{instance}', ), diskTypePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/diskTypes/{disk_type}' + 'projects/{project}/zones/{zone}/diskTypes/{disk_type}', ), locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' + 'projects/{project}/locations/{location}', ), lustreInstancePathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/instances/{instance}' + 'projects/{project}/locations/{location}/instances/{instance}', ), networkPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/global/networks/{network}' + 'projects/{project}/global/networks/{network}', ), projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' + 'projects/{project}', ), reservationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/zones/{zone}/reservations/{reservation}' + 'projects/{project}/zones/{zone}/reservations/{reservation}', ), subnetworkPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/regions/{region}/subnetworks/{subnetwork}' + 'projects/{project}/regions/{region}/subnetworks/{subnetwork}', ), }; @@ -220,8 +248,11 @@ export class HypercomputeClusterClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this.descriptors.page = { - listClusters: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'clusters') + listClusters: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'clusters', + ), }; const protoFilesRoot = this._gaxModule.protobufFromJSON(jsonProtos); @@ -230,45 +261,85 @@ export class HypercomputeClusterClient { // rather than holding a request open. const lroOptions: GrpcClientOptions = { auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }; if (opts.fallback) { lroOptions.protoJson = protoFilesRoot; - lroOptions.httpRules = [{selector: 'google.cloud.location.Locations.GetLocation',get: '/v1beta/{name=projects/*/locations/*}',},{selector: 'google.cloud.location.Locations.ListLocations',get: '/v1beta/{name=projects/*}/locations',},{selector: 'google.longrunning.Operations.CancelOperation',post: '/v1beta/{name=projects/*/locations/*/operations/*}:cancel',body: '*',},{selector: 'google.longrunning.Operations.DeleteOperation',delete: '/v1beta/{name=projects/*/locations/*/operations/*}',},{selector: 'google.longrunning.Operations.GetOperation',get: '/v1beta/{name=projects/*/locations/*/operations/*}',},{selector: 'google.longrunning.Operations.ListOperations',get: '/v1beta/{name=projects/*/locations/*}/operations',}]; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1beta/{name=projects/*/locations/*}', + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1beta/{name=projects/*}/locations', + }, + { + selector: 'google.longrunning.Operations.CancelOperation', + post: '/v1beta/{name=projects/*/locations/*/operations/*}:cancel', + body: '*', + }, + { + selector: 'google.longrunning.Operations.DeleteOperation', + delete: '/v1beta/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1beta/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1beta/{name=projects/*/locations/*}/operations', + }, + ]; } - this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts); + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); const createClusterResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1beta.Cluster') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1beta.Cluster', + ) as gax.protobuf.Type; const createClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1beta.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1beta.OperationMetadata', + ) as gax.protobuf.Type; const updateClusterResponse = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1beta.Cluster') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1beta.Cluster', + ) as gax.protobuf.Type; const updateClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1beta.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1beta.OperationMetadata', + ) as gax.protobuf.Type; const deleteClusterResponse = protoFilesRoot.lookup( - '.google.protobuf.Empty') as gax.protobuf.Type; + '.google.protobuf.Empty', + ) as gax.protobuf.Type; const deleteClusterMetadata = protoFilesRoot.lookup( - '.google.cloud.hypercomputecluster.v1beta.OperationMetadata') as gax.protobuf.Type; + '.google.cloud.hypercomputecluster.v1beta.OperationMetadata', + ) as gax.protobuf.Type; this.descriptors.longrunning = { createCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, createClusterResponse.decode.bind(createClusterResponse), - createClusterMetadata.decode.bind(createClusterMetadata)), + createClusterMetadata.decode.bind(createClusterMetadata), + ), updateCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, updateClusterResponse.decode.bind(updateClusterResponse), - updateClusterMetadata.decode.bind(updateClusterMetadata)), + updateClusterMetadata.decode.bind(updateClusterMetadata), + ), deleteCluster: new this._gaxModule.LongrunningDescriptor( this.operationsClient, deleteClusterResponse.decode.bind(deleteClusterResponse), - deleteClusterMetadata.decode.bind(deleteClusterMetadata)) + deleteClusterMetadata.decode.bind(deleteClusterMetadata), + ), }; // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.hypercomputecluster.v1beta.HypercomputeCluster', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + 'google.cloud.hypercomputecluster.v1beta.HypercomputeCluster', + 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 @@ -299,28 +370,40 @@ export class HypercomputeClusterClient { // Put together the "service stub" for // google.cloud.hypercomputecluster.v1beta.HypercomputeCluster. this.hypercomputeClusterStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.hypercomputecluster.v1beta.HypercomputeCluster') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.hypercomputecluster.v1beta.HypercomputeCluster, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.hypercomputecluster.v1beta.HypercomputeCluster', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.hypercomputecluster.v1beta + .HypercomputeCluster, + 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 hypercomputeClusterStubMethods = - ['listClusters', 'getCluster', 'createCluster', 'updateCluster', 'deleteCluster']; + const hypercomputeClusterStubMethods = [ + 'listClusters', + 'getCluster', + 'createCluster', + 'updateCluster', + 'deleteCluster', + ]; for (const methodName of hypercomputeClusterStubMethods) { const callPromise = this.hypercomputeClusterStub.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) => () => { + (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] || @@ -330,7 +413,7 @@ export class HypercomputeClusterClient { callPromise, this._defaults[methodName], descriptor, - this._opts.fallback + this._opts.fallback, ); this.innerApiCalls[methodName] = apiCall; @@ -345,8 +428,14 @@ export class HypercomputeClusterClient { * @returns {string} The DNS address for this service. */ static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -357,8 +446,14 @@ export class HypercomputeClusterClient { * @returns {string} The DNS address for this service. */ static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); } return 'hypercomputecluster.googleapis.com'; } @@ -389,9 +484,7 @@ export class HypercomputeClusterClient { * @returns {string[]} List of default scopes. */ static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform' - ]; + return ['https://www.googleapis.com/auth/cloud-platform']; } getProjectId(): Promise; @@ -400,8 +493,9 @@ export class HypercomputeClusterClient { * 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 { + getProjectId( + callback?: Callback, + ): Promise | void { if (callback) { this.auth.getProjectId(callback); return; @@ -412,546 +506,806 @@ export class HypercomputeClusterClient { // ------------------- // -- Service calls -- // ------------------- -/** - * Gets details of a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the cluster to retrieve, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @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 {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.get_cluster.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_GetCluster_async - */ + /** + * Gets details of a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the cluster to retrieve, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @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 {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.get_cluster.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_GetCluster_async + */ getCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + ( + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | undefined + ), + {} | undefined, + ] + >; getCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, - callback: Callback< - protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, + callback: Callback< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): void; getCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< + request?: protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|undefined, {}|undefined - ]>|void { + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + ( + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | undefined + ), + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); this._log.info('getCluster request %j', request); - const wrappedCallback: Callback< - protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, options, rawResponse) => { this._log.info('getCluster response %j', response); callback!(error, response, options, rawResponse); // We verified callback above. } : undefined; - return this.innerApiCalls.getCluster(request, options, wrappedCallback) - ?.then(([response, options, rawResponse]: [ - protos.google.cloud.hypercomputecluster.v1beta.ICluster, - protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest|undefined, - {}|undefined - ]) => { - this._log.info('getCluster response %j', response); - return [response, options, rawResponse]; - }).catch((error: any) => { - if (error && 'statusDetails' in error && error.statusDetails instanceof Array) { - const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type; - error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos); + return this.innerApiCalls + .getCluster(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + ( + | protos.google.cloud.hypercomputecluster.v1beta.IGetClusterRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('getCluster response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); } throw error; }); } -/** - * Creates a new Cluster in a given project and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location in which the cluster should be created, in the - * format `projects/{project}/locations/{location}`. - * @param {string} request.clusterId - * Required. ID of the cluster to create. Must conform to - * [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, - * alphanumeric, and at most 63 characters). - * @param {google.cloud.hypercomputecluster.v1beta.Cluster} request.cluster - * Required. Cluster to create. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.create_cluster.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_CreateCluster_async - */ + /** + * Creates a new Cluster in a given project and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location in which the cluster should be created, in the + * format `projects/{project}/locations/{location}`. + * @param {string} request.clusterId + * Required. ID of the cluster to create. Must conform to + * [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, + * alphanumeric, and at most 63 characters). + * @param {google.cloud.hypercomputecluster.v1beta.Cluster} request.cluster + * Required. Cluster to create. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.create_cluster.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_CreateCluster_async + */ createCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; createCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; createCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1beta.ICreateClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('createCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('createCluster request %j', request); - return this.innerApiCalls.createCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('createCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .createCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('createCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `createCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.create_cluster.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_CreateCluster_async - */ - async checkCreateClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `createCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.create_cluster.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_CreateCluster_async + */ + async checkCreateClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.Cluster, + protos.google.cloud.hypercomputecluster.v1beta.OperationMetadata + > + > { this._log.info('createCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.createCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.createCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1beta.Cluster, + protos.google.cloud.hypercomputecluster.v1beta.OperationMetadata + >; } -/** - * Updates the parameters of a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.hypercomputecluster.v1beta.Cluster} request.cluster - * Required. Cluster to update. - * @param {google.protobuf.FieldMask} [request.updateMask] - * Optional. Mask specifying which fields in the cluster to update. All paths - * must be specified explicitly - wildcards are not supported. At least one - * path must be provided. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.update_cluster.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_UpdateCluster_async - */ + /** + * Updates the parameters of a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.hypercomputecluster.v1beta.Cluster} request.cluster + * Required. Cluster to update. + * @param {google.protobuf.FieldMask} [request.updateMask] + * Optional. Mask specifying which fields in the cluster to update. All paths + * must be specified explicitly - wildcards are not supported. At least one + * path must be provided. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.update_cluster.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_UpdateCluster_async + */ updateCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; updateCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, + callback: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; updateCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1beta.IUpdateClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'cluster.name': request.cluster!.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'cluster.name': request.cluster!.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('updateCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('updateCluster request %j', request); - return this.innerApiCalls.updateCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('updateCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .updateCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('updateCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `updateCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.update_cluster.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_UpdateCluster_async - */ - async checkUpdateClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `updateCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.update_cluster.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_UpdateCluster_async + */ + async checkUpdateClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.cloud.hypercomputecluster.v1beta.Cluster, + protos.google.cloud.hypercomputecluster.v1beta.OperationMetadata + > + > { this._log.info('updateCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.updateCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.updateCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.cloud.hypercomputecluster.v1beta.Cluster, + protos.google.cloud.hypercomputecluster.v1beta.OperationMetadata + >; } -/** - * Deletes a single Cluster. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Name of the cluster to delete, in the format - * `projects/{project}/locations/{location}/clusters/{cluster}`. - * @param {string} [request.requestId] - * Optional. A unique identifier for this request. A random UUID is - * recommended. This request is idempotent if and only if `request_id` is - * provided. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.delete_cluster.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_DeleteCluster_async - */ + /** + * Deletes a single Cluster. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Name of the cluster to delete, in the format + * `projects/{project}/locations/{location}/clusters/{cluster}`. + * @param {string} [request.requestId] + * Optional. A unique identifier for this request. A random UUID is + * recommended. This request is idempotent if and only if `request_id` is + * provided. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.delete_cluster.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_DeleteCluster_async + */ deleteCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, - options?: CallOptions): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>; + request?: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, + options?: CallOptions, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + >; deleteCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, - options: CallOptions, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteCluster( - request: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, - callback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): void; deleteCluster( - request?: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, - optionsOrCallback?: CallOptions|Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>, - callback?: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>): - Promise<[ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]>|void { + request?: protos.google.cloud.hypercomputecluster.v1beta.IDeleteClusterRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: Callback< - LROperation, - protos.google.longrunning.IOperation|null|undefined, - {}|null|undefined>|undefined = callback + const wrappedCallback: + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + | undefined = callback ? (error, response, rawResponse, _) => { this._log.info('deleteCluster response %j', rawResponse); callback!(error, response, rawResponse, _); // We verified callback above. } : undefined; this._log.info('deleteCluster request %j', request); - return this.innerApiCalls.deleteCluster(request, options, wrappedCallback) - ?.then(([response, rawResponse, _]: [ - LROperation, - protos.google.longrunning.IOperation|undefined, {}|undefined - ]) => { - this._log.info('deleteCluster response %j', rawResponse); - return [response, rawResponse, _]; - }); + return this.innerApiCalls + .deleteCluster(request, options, wrappedCallback) + ?.then( + ([response, rawResponse, _]: [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined, + ]) => { + this._log.info('deleteCluster response %j', rawResponse); + return [response, rawResponse, _]; + }, + ); } -/** - * Check the status of the long running operation returned by `deleteCluster()`. - * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.delete_cluster.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_DeleteCluster_async - */ - async checkDeleteClusterProgress(name: string): Promise>{ + /** + * Check the status of the long running operation returned by `deleteCluster()`. + * @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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.delete_cluster.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_DeleteCluster_async + */ + async checkDeleteClusterProgress( + name: string, + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1beta.OperationMetadata + > + > { this._log.info('deleteCluster long-running'); - const request = new this._gaxModule.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 this._gaxModule.Operation(operation, this.descriptors.longrunning.deleteCluster, this._gaxModule.createDefaultBackoffSettings()); - return decodeOperation as LROperation; + const decodeOperation = new this._gaxModule.Operation( + operation, + this.descriptors.longrunning.deleteCluster, + this._gaxModule.createDefaultBackoffSettings(), + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.hypercomputecluster.v1beta.OperationMetadata + >; } - /** - * Lists Clusters in a given project and location. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster}. - * 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 `listClustersAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Lists Clusters in a given project and location. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster}. + * 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 `listClustersAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listClusters( - request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.hypercomputecluster.v1beta.ICluster[], - protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse - ]>; + request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1beta.ICluster[], + protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse, + ] + >; listClusters( - request: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1beta.ICluster>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1beta.ICluster + >, + ): void; listClusters( - request: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - callback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1beta.ICluster>): void; + request: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + callback: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1beta.ICluster + >, + ): void; listClusters( - request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1beta.ICluster>, - callback?: PaginationCallback< + request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1beta.ICluster>): - Promise<[ - protos.google.cloud.hypercomputecluster.v1beta.ICluster[], - protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse - ]>|void { + | protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1beta.ICluster + >, + callback?: PaginationCallback< + protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1beta.ICluster + >, + ): Promise< + [ + protos.google.cloud.hypercomputecluster.v1beta.ICluster[], + protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse, + ] + > | void { request = request || {}; let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } - else { + } else { options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize().catch((err) => { + throw err; }); - this.initialize().catch(err => {throw err}); - const wrappedCallback: PaginationCallback< - protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse|null|undefined, - protos.google.cloud.hypercomputecluster.v1beta.ICluster>|undefined = callback + const wrappedCallback: + | PaginationCallback< + protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + | protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse + | null + | undefined, + protos.google.cloud.hypercomputecluster.v1beta.ICluster + > + | undefined = callback ? (error, values, nextPageRequest, rawResponse) => { this._log.info('listClusters values %j', values); callback!(error, values, nextPageRequest, rawResponse); // We verified callback above. @@ -960,145 +1314,150 @@ export class HypercomputeClusterClient { this._log.info('listClusters request %j', request); return this.innerApiCalls .listClusters(request, options, wrappedCallback) - ?.then(([response, input, output]: [ - protos.google.cloud.hypercomputecluster.v1beta.ICluster[], - protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest|null, - protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse - ]) => { - this._log.info('listClusters values %j', response); - return [response, input, output]; - }); + ?.then( + ([response, input, output]: [ + protos.google.cloud.hypercomputecluster.v1beta.ICluster[], + protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest | null, + protos.google.cloud.hypercomputecluster.v1beta.IListClustersResponse, + ]) => { + this._log.info('listClusters values %j', response); + return [response, input, output]; + }, + ); } -/** - * Equivalent to `listClusters`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster} 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 `listClustersAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ + /** + * Equivalent to `listClusters`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster} 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 `listClustersAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ listClustersStream( - request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - options?: CallOptions): - Transform{ + request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + options?: CallOptions, + ): Transform { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listClusters']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listClusters stream %j', request); return this.descriptors.page.listClusters.createStream( this.innerApiCalls.listClusters as GaxCall, request, - callSettings + callSettings, ); } -/** - * Equivalent to `listClusters`, 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. Parent location of the clusters to list, in the format - * `projects/{project}/locations/{location}`. - * @param {number} [request.pageSize] - * Optional. Maximum number of clusters to return. The service may return - * fewer than this value. - * @param {string} [request.pageToken] - * Optional. A page token received from a previous `ListClusters` call. - * Provide this to retrieve the subsequent page. When paginating, all other - * parameters provided to `ListClusters` must match the call that provided the - * page token. - * @param {string} [request.filter] - * Optional. [Filter](https://google.aip.dev/160) to apply to the returned - * results. - * @param {string} [request.orderBy] - * Optional. How to order the resulting clusters. Must be one of the following - * strings: - * - * * `name` - * * `name desc` - * * `create_time` - * * `create_time desc` - * - * If not specified, clusters will be returned in an arbitrary order. - * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/hypercompute_cluster.list_clusters.js - * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_ListClusters_async - */ + /** + * Equivalent to `listClusters`, 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. Parent location of the clusters to list, in the format + * `projects/{project}/locations/{location}`. + * @param {number} [request.pageSize] + * Optional. Maximum number of clusters to return. The service may return + * fewer than this value. + * @param {string} [request.pageToken] + * Optional. A page token received from a previous `ListClusters` call. + * Provide this to retrieve the subsequent page. When paginating, all other + * parameters provided to `ListClusters` must match the call that provided the + * page token. + * @param {string} [request.filter] + * Optional. [Filter](https://google.aip.dev/160) to apply to the returned + * results. + * @param {string} [request.orderBy] + * Optional. How to order the resulting clusters. Must be one of the following + * strings: + * + * * `name` + * * `name desc` + * * `create_time` + * * `create_time desc` + * + * If not specified, clusters will be returned in an arbitrary order. + * @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 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.cloud.hypercomputecluster.v1beta.Cluster|Cluster}. 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 {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/hypercompute_cluster.list_clusters.js + * region_tag:hypercomputecluster_v1beta_generated_HypercomputeCluster_ListClusters_async + */ listClustersAsync( - request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, - options?: CallOptions): - AsyncIterable{ + request?: protos.google.cloud.hypercomputecluster.v1beta.IListClustersRequest, + options?: CallOptions, + ): AsyncIterable { request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); const defaultCallSettings = this._defaults['listClusters']; const callSettings = defaultCallSettings.merge(options); - this.initialize().catch(err => {throw err}); + this.initialize().catch((err) => { + throw err; + }); this._log.info('listClusters iterate %j', request); return this.descriptors.page.listClusters.asyncIterate( this.innerApiCalls['listClusters'] as GaxCall, request as {}, - callSettings + callSettings, ) as AsyncIterable; } -/** + + /** * Gets information about a location. * * @param {Object} request @@ -1133,12 +1492,11 @@ export class HypercomputeClusterClient { | null | undefined, {} | null | undefined - > + >, ): Promise { return this.locationsClient.getLocation(request, options, callback); } - -/** + /** * Lists information about the supported locations for this service. Returns an iterable object. * * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. @@ -1171,12 +1529,12 @@ export class HypercomputeClusterClient { */ listLocationsAsync( request: LocationProtos.google.cloud.location.IListLocationsRequest, - options?: CallOptions + options?: CallOptions, ): AsyncIterable { return this.locationsClient.listLocationsAsync(request, options); } -/** + /** * Gets the latest state of a long-running operation. Clients can use this * method to poll the operation result at intervals as recommended by the API * service. @@ -1219,22 +1577,22 @@ export class HypercomputeClusterClient { protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined - > + >, ): Promise<[protos.google.longrunning.Operation]> { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.getOperation(request, options, callback); } /** @@ -1269,15 +1627,15 @@ export class HypercomputeClusterClient { */ listOperationsAsync( request: protos.google.longrunning.ListOperationsRequest, - options?: gax.CallOptions + options?: gax.CallOptions, ): AsyncIterable { - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.listOperationsAsync(request, options); } /** @@ -1311,7 +1669,7 @@ export class HypercomputeClusterClient { * await client.cancelOperation({name: ''}); * ``` */ - cancelOperation( + cancelOperation( request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: | gax.CallOptions @@ -1324,25 +1682,24 @@ export class HypercomputeClusterClient { protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.cancelOperation(request, options, callback); } - /** * Deletes a long-running operation. This method indicates that the client is * no longer interested in the operation result. It does not cancel the @@ -1381,22 +1738,22 @@ export class HypercomputeClusterClient { protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined - > + >, ): Promise { - let options: gax.CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } else { - options = optionsOrCallback as gax.CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - this._gaxModule.routingHeader.fromParams({ - name: request.name ?? '', - }); + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); return this.operationsClient.deleteOperation(request, options, callback); } @@ -1411,7 +1768,7 @@ export class HypercomputeClusterClient { * @param {string} bucket * @returns {string} Resource name string. */ - bucketPath(project:string,bucket:string) { + bucketPath(project: string, bucket: string) { return this.pathTemplates.bucketPathTemplate.render({ project: project, bucket: bucket, @@ -1448,7 +1805,7 @@ export class HypercomputeClusterClient { * @param {string} cluster * @returns {string} Resource name string. */ - clusterPath(project:string,location:string,cluster:string) { + clusterPath(project: string, location: string, cluster: string) { return this.pathTemplates.clusterPathTemplate.render({ project: project, location: location, @@ -1497,7 +1854,7 @@ export class HypercomputeClusterClient { * @param {string} instance * @returns {string} Resource name string. */ - computeInstancePath(project:string,zone:string,instance:string) { + computeInstancePath(project: string, zone: string, instance: string) { return this.pathTemplates.computeInstancePathTemplate.render({ project: project, zone: zone, @@ -1513,7 +1870,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).project; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).project; } /** @@ -1524,7 +1883,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).zone; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).zone; } /** @@ -1535,7 +1896,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the instance. */ matchInstanceFromComputeInstanceName(computeInstanceName: string) { - return this.pathTemplates.computeInstancePathTemplate.match(computeInstanceName).instance; + return this.pathTemplates.computeInstancePathTemplate.match( + computeInstanceName, + ).instance; } /** @@ -1546,7 +1909,7 @@ export class HypercomputeClusterClient { * @param {string} disk_type * @returns {string} Resource name string. */ - diskTypePath(project:string,zone:string,diskType:string) { + diskTypePath(project: string, zone: string, diskType: string) { return this.pathTemplates.diskTypePathTemplate.render({ project: project, zone: zone, @@ -1584,7 +1947,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the disk_type. */ matchDiskTypeFromDiskTypeName(diskTypeName: string) { - return this.pathTemplates.diskTypePathTemplate.match(diskTypeName).disk_type; + return this.pathTemplates.diskTypePathTemplate.match(diskTypeName) + .disk_type; } /** @@ -1594,7 +1958,7 @@ export class HypercomputeClusterClient { * @param {string} location * @returns {string} Resource name string. */ - locationPath(project:string,location:string) { + locationPath(project: string, location: string) { return this.pathTemplates.locationPathTemplate.render({ project: project, location: location, @@ -1631,7 +1995,7 @@ export class HypercomputeClusterClient { * @param {string} instance * @returns {string} Resource name string. */ - lustreInstancePath(project:string,location:string,instance:string) { + lustreInstancePath(project: string, location: string, instance: string) { return this.pathTemplates.lustreInstancePathTemplate.render({ project: project, location: location, @@ -1647,7 +2011,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromLustreInstanceName(lustreInstanceName: string) { - return this.pathTemplates.lustreInstancePathTemplate.match(lustreInstanceName).project; + return this.pathTemplates.lustreInstancePathTemplate.match( + lustreInstanceName, + ).project; } /** @@ -1658,7 +2024,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the location. */ matchLocationFromLustreInstanceName(lustreInstanceName: string) { - return this.pathTemplates.lustreInstancePathTemplate.match(lustreInstanceName).location; + return this.pathTemplates.lustreInstancePathTemplate.match( + lustreInstanceName, + ).location; } /** @@ -1669,7 +2037,9 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the instance. */ matchInstanceFromLustreInstanceName(lustreInstanceName: string) { - return this.pathTemplates.lustreInstancePathTemplate.match(lustreInstanceName).instance; + return this.pathTemplates.lustreInstancePathTemplate.match( + lustreInstanceName, + ).instance; } /** @@ -1679,7 +2049,7 @@ export class HypercomputeClusterClient { * @param {string} network * @returns {string} Resource name string. */ - networkPath(project:string,network:string) { + networkPath(project: string, network: string) { return this.pathTemplates.networkPathTemplate.render({ project: project, network: network, @@ -1714,7 +2084,7 @@ export class HypercomputeClusterClient { * @param {string} project * @returns {string} Resource name string. */ - projectPath(project:string) { + projectPath(project: string) { return this.pathTemplates.projectPathTemplate.render({ project: project, }); @@ -1739,7 +2109,7 @@ export class HypercomputeClusterClient { * @param {string} reservation * @returns {string} Resource name string. */ - reservationPath(project:string,zone:string,reservation:string) { + reservationPath(project: string, zone: string, reservation: string) { return this.pathTemplates.reservationPathTemplate.render({ project: project, zone: zone, @@ -1755,7 +2125,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).project; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .project; } /** @@ -1766,7 +2137,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the zone. */ matchZoneFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).zone; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .zone; } /** @@ -1777,7 +2149,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the reservation. */ matchReservationFromReservationName(reservationName: string) { - return this.pathTemplates.reservationPathTemplate.match(reservationName).reservation; + return this.pathTemplates.reservationPathTemplate.match(reservationName) + .reservation; } /** @@ -1788,7 +2161,7 @@ export class HypercomputeClusterClient { * @param {string} subnetwork * @returns {string} Resource name string. */ - subnetworkPath(project:string,region:string,subnetwork:string) { + subnetworkPath(project: string, region: string, subnetwork: string) { return this.pathTemplates.subnetworkPathTemplate.render({ project: project, region: region, @@ -1804,7 +2177,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the project. */ matchProjectFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).project; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .project; } /** @@ -1815,7 +2189,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the region. */ matchRegionFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).region; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .region; } /** @@ -1826,7 +2201,8 @@ export class HypercomputeClusterClient { * @returns {string} A string representing the subnetwork. */ matchSubnetworkFromSubnetworkName(subnetworkName: string) { - return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName).subnetwork; + return this.pathTemplates.subnetworkPathTemplate.match(subnetworkName) + .subnetwork; } /** @@ -1837,14 +2213,16 @@ export class HypercomputeClusterClient { */ close(): Promise { if (this.hypercomputeClusterStub && !this._terminated) { - return this.hypercomputeClusterStub.then(stub => { + return this.hypercomputeClusterStub.then((stub) => { this._log.info('ending gRPC channel'); this._terminated = true; stub.close(); - this.locationsClient.close().catch(err => {throw err}); + this.locationsClient.close().catch((err) => { + throw err; + }); void this.operationsClient.close(); }); } return Promise.resolve(); } -} \ No newline at end of file +} diff --git a/packages/google-cloud-hypercomputecluster/src/v1beta/index.ts b/packages/google-cloud-hypercomputecluster/src/v1beta/index.ts index ee3f58bb3a68..9b93e8506ac2 100644 --- a/packages/google-cloud-hypercomputecluster/src/v1beta/index.ts +++ b/packages/google-cloud-hypercomputecluster/src/v1beta/index.ts @@ -16,4 +16,4 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -export {HypercomputeClusterClient} from './hypercompute_cluster_client'; +export { HypercomputeClusterClient } from './hypercompute_cluster_client'; diff --git a/packages/google-cloud-hypercomputecluster/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-hypercomputecluster/system-test/fixtures/sample/src/index.ts index b6d93791f63c..b725da65fb48 100644 --- a/packages/google-cloud-hypercomputecluster/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-hypercomputecluster/system-test/fixtures/sample/src/index.ts @@ -16,10 +16,12 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** -import {HypercomputeClusterClient} from '@google-cloud/hypercomputecluster'; +import { HypercomputeClusterClient } from '@google-cloud/hypercomputecluster'; // check that the client class type name can be used -function doStuffWithHypercomputeClusterClient(client: HypercomputeClusterClient) { +function doStuffWithHypercomputeClusterClient( + client: HypercomputeClusterClient, +) { client.close(); } diff --git a/packages/google-cloud-hypercomputecluster/system-test/install.ts b/packages/google-cloud-hypercomputecluster/system-test/install.ts index f66069aa3940..ccf167042d2e 100644 --- a/packages/google-cloud-hypercomputecluster/system-test/install.ts +++ b/packages/google-cloud-hypercomputecluster/system-test/install.ts @@ -16,34 +16,36 @@ // ** 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'; +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() { + 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() - } + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts', + ).toString(), + }, }; await packNTest(options); }); - it('JavaScript code', async function() { + it('JavaScript code', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), sample: { description: 'JavaScript user can use the library', - cjs: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } + cjs: readFileSync( + './system-test/fixtures/sample/src/index.js', + ).toString(), + }, }; await packNTest(options); }); - }); diff --git a/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1.ts b/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1.ts index 6eb86bfce14a..b5f8d5e91f7f 100644 --- a/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1.ts +++ b/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1.ts @@ -19,1922 +19,2603 @@ 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 { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as hypercomputeclusterModule from '../src'; -import {PassThrough} from 'stream'; +import { PassThrough } from 'stream'; -import {protobuf, LROperation, operationsProtos, LocationProtos} from 'google-gax'; +import { + protobuf, + LROperation, + operationsProtos, + LocationProtos, +} 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(); +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; + 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) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as 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]); + 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 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 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 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]); - } +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(); }); + } + 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({}); + }); } - return sinon.stub().returns(mockStream); + 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); +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.HypercomputeClusterClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = hypercomputeclusterModule.v1.HypercomputeClusterClient.servicePath; - assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = hypercomputeclusterModule.v1.HypercomputeClusterClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new hypercomputeclusterModule.v1.HypercomputeClusterClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = hypercomputeclusterModule.v1.HypercomputeClusterClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.hypercomputeClusterStub, undefined); - await client.initialize(); - assert(client.hypercomputeClusterStub); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = + new hypercomputeclusterModule.v1.HypercomputeClusterClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + }); - it('has close method for the initialized client', done => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.hypercomputeClusterStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('has universeDomain', () => { + const client = + new hypercomputeclusterModule.v1.HypercomputeClusterClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - it('has close method for the non-initialized client', done => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.hypercomputeClusterStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + hypercomputeclusterModule.v1.HypercomputeClusterClient.servicePath; + assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + hypercomputeclusterModule.v1.HypercomputeClusterClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { universeDomain: 'example.com' }, + ); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - 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('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { universe_domain: 'example.com' }, + ); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - 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); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new hypercomputeclusterModule.v1.HypercomputeClusterClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new hypercomputeclusterModule.v1.HypercomputeClusterClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'hypercomputecluster.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new hypercomputeclusterModule.v1.HypercomputeClusterClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); }); - describe('getCluster', () => { - it('invokes getCluster without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.Cluster() - ); - client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); - const [response] = await client.getCluster(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has port', () => { + const port = hypercomputeclusterModule.v1.HypercomputeClusterClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('invokes getCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.Cluster() - ); - client.innerApiCalls.getCluster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getCluster( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1.ICluster|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('should create a client with no option', () => { + const client = + new hypercomputeclusterModule.v1.HypercomputeClusterClient(); + assert(client); + }); - it('invokes getCluster with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getCluster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('should create a client with gRPC fallback', () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + fallback: true, + }, + ); + assert(client); + }); - it('invokes getCluster with closed client', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getCluster(request), expectedError); - }); + it('has initialize method and supports deferred initialization', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + assert.strictEqual(client.hypercomputeClusterStub, undefined); + await client.initialize(); + assert(client.hypercomputeClusterStub); }); - describe('createCluster', () => { - it('invokes createCluster without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.createCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has close method for the initialized client', (done) => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + client.initialize().catch((err) => { + throw err; + }); + assert(client.hypercomputeClusterStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('invokes createCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + it('has close method for the non-initialized client', (done) => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + assert.strictEqual(client.hypercomputeClusterStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('invokes createCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.createCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + 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('invokes createCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.createCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + 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('getCluster', () => { + it('invokes getCluster without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ); + client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); + const [response] = await client.getCluster(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkCreateClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkCreateClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); + it('invokes getCluster without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ); + client.innerApiCalls.getCluster = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getCluster( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1.ICluster | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkCreateClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes getCluster with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getCluster = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkCreateClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes getCluster with closed client', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getCluster(request), expectedError); + }); + }); + + describe('createCluster', () => { + it('invokes createCluster without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('updateCluster', () => { - it('invokes updateCluster without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.updateCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createCluster without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createCluster with call error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.createCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.updateCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes createCluster with LRO error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.createCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes updateCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.updateCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkCreateClusterProgress without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await 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.checkCreateClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('invokes checkUpdateClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkUpdateClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); + it('invokes checkCreateClusterProgress with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkCreateClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateCluster', () => { + it('invokes updateCluster without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkUpdateClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes updateCluster without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1.ICluster, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkUpdateClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes updateCluster with call error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('deleteCluster', () => { - it('invokes deleteCluster without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.deleteCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes updateCluster with LRO error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.updateCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkUpdateClusterProgress without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await 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.checkUpdateClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('invokes deleteCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.deleteCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkUpdateClusterProgress with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkUpdateClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteCluster', () => { + it('invokes deleteCluster without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes deleteCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.deleteCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes deleteCluster without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkDeleteClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkDeleteClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); + it('invokes deleteCluster with call error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes checkDeleteClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes deleteCluster with LRO error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.deleteCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkDeleteClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes checkDeleteClusterProgress without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await 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.checkDeleteClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); }); - describe('listClusters', () => { - it('invokes listClusters without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - ]; - client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); - const [response] = await client.listClusters(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes checkDeleteClusterProgress with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkDeleteClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listClusters', () => { + it('invokes listClusters without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + ]; + client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); + const [response] = await client.listClusters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listClusters without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - ]; - client.innerApiCalls.listClusters = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listClusters( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1.ICluster[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listClusters without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + ]; + client.innerApiCalls.listClusters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listClusters( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1.ICluster[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listClusters with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listClusters = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listClusters(request), expectedError); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); + it('invokes listClusters with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listClusters = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listClusters(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('invokes listClustersStream without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - ]; - client.descriptors.page.listClusters.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listClustersStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1.Cluster[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1.Cluster) => { - 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.listClusters.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listClusters, request)); - assert( - (client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('invokes listClustersStream without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + ]; + client.descriptors.page.listClusters.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listClustersStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1.Cluster[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.hypercomputecluster.v1.Cluster) => { + 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.listClusters.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listClusters, request), + ); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('invokes listClustersStream with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listClusters.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listClustersStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1.Cluster[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1.Cluster) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listClusters, request)); - assert( - (client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('invokes listClustersStream with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listClusters.createStream = stubPageStreamingCall( + undefined, + expectedError, + ); + const stream = client.listClustersStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1.Cluster[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.hypercomputecluster.v1.Cluster) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listClusters, request), + ); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('uses async iteration with listClusters without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1.Cluster()), - ]; - client.descriptors.page.listClusters.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1.ICluster[] = []; - const iterable = client.listClustersAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listClusters without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.Cluster(), + ), + ]; + client.descriptors.page.listClusters.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1.ICluster[] = + []; + const iterable = client.listClustersAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listClusters.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listClusters.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('uses async iteration with listClusters with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listClusters.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listClustersAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1.ICluster[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + it('uses async iteration with listClusters with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listClusters.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listClustersAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1.ICluster[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listClusters.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listClusters.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes getLocation without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); }); - describe('getOperation', () => { - it('invokes getOperation without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const response = await client.getOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes getOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.getOperation( - request, - undefined, - ( - err?: Error | null, - result?: operationsProtos.google.longrunning.Operation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); - it('invokes getOperation with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.getOperation(request)}, expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request)); - }); + it('invokes getLocation with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); }); - describe('cancelOperation', () => { - it('invokes cancelOperation without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = stubSimpleCall(expectedResponse); - const response = await client.cancelOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes cancelOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.cancelOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0)); - }); - it('invokes cancelOperation with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.cancelOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.cancelOperation(request)}, expectedError); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request)); - }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); }); - describe('deleteOperation', () => { - it('invokes deleteOperation without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = stubSimpleCall(expectedResponse); - const response = await client.deleteOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes deleteOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.deleteOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0)); - }); - it('invokes deleteOperation with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.deleteOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.deleteOperation(request)}, expectedError); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request)); - }); + it('uses async iteration with listLocations with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); }); - describe('listOperationsAsync', () => { - it('uses async iteration with listOperations without error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedResponse = [ - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - ]; - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: operationsProtos.google.longrunning.IOperation[] = []; - const iterable = client.operationsClient.listOperationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); - it('uses async iteration with listOperations with error', async () => { - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.operationsClient.listOperationsAsync(request); - await assert.rejects(async () => { - const responses: operationsProtos.google.longrunning.IOperation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); + }); + describe('getOperation', () => { + it('invokes getOperation without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const response = await client.getOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes getOperation without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .getOperation( + request, + undefined, + ( + err?: Error | null, + result?: operationsProtos.google.longrunning.Operation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + it('invokes getOperation with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.getOperation(request); + }, expectedError); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('cancelOperation', () => { + it('invokes cancelOperation without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = + stubSimpleCall(expectedResponse); + const response = await client.cancelOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes cancelOperation without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .cancelOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.cancelOperation as SinonStub).getCall(0)); + }); + it('invokes cancelOperation with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.cancelOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.cancelOperation(request); + }, expectedError); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('deleteOperation', () => { + it('invokes deleteOperation without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = + stubSimpleCall(expectedResponse); + const response = await client.deleteOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes deleteOperation without error using callback', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .deleteOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.deleteOperation as SinonStub).getCall(0)); + }); + it('invokes deleteOperation with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.deleteOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.deleteOperation(request); + }, expectedError); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('listOperationsAsync', () => { + it('uses async iteration with listOperations without error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedResponse = [ + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + ]; + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: operationsProtos.google.longrunning.IOperation[] = []; + const iterable = client.operationsClient.listOperationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + it('uses async iteration with listOperations with error', async () => { + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.operationsClient.listOperationsAsync(request); + await assert.rejects(async () => { + const responses: operationsProtos.google.longrunning.IOperation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + }); + + describe('Path templates', () => { + describe('bucket', async () => { + const fakePath = '/rendered/path/bucket'; + const expectedParameters = { + project: 'projectValue', + bucket: 'bucketValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.bucketPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.bucketPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('bucketPath', () => { + const result = client.bucketPath('projectValue', 'bucketValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.bucketPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromBucketName', () => { + const result = client.matchProjectFromBucketName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.bucketPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchBucketFromBucketName', () => { + const result = client.matchBucketFromBucketName(fakePath); + assert.strictEqual(result, 'bucketValue'); + assert( + (client.pathTemplates.bucketPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); - describe('Path templates', () => { - - describe('bucket', async () => { - const fakePath = "/rendered/path/bucket"; - const expectedParameters = { - project: "projectValue", - bucket: "bucketValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.bucketPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.bucketPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('bucketPath', () => { - const result = client.bucketPath("projectValue", "bucketValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.bucketPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromBucketName', () => { - const result = client.matchProjectFromBucketName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.bucketPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchBucketFromBucketName', () => { - const result = client.matchBucketFromBucketName(fakePath); - assert.strictEqual(result, "bucketValue"); - assert((client.pathTemplates.bucketPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cluster', async () => { - const fakePath = "/rendered/path/cluster"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - cluster: "clusterValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.clusterPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.clusterPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('clusterPath', () => { - const result = client.clusterPath("projectValue", "locationValue", "clusterValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.clusterPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromClusterName', () => { - const result = client.matchProjectFromClusterName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromClusterName', () => { - const result = client.matchLocationFromClusterName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchClusterFromClusterName', () => { - const result = client.matchClusterFromClusterName(fakePath); - assert.strictEqual(result, "clusterValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('computeInstance', async () => { - const fakePath = "/rendered/path/computeInstance"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - instance: "instanceValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.computeInstancePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.computeInstancePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('computeInstancePath', () => { - const result = client.computeInstancePath("projectValue", "zoneValue", "instanceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.computeInstancePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromComputeInstanceName', () => { - const result = client.matchProjectFromComputeInstanceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchZoneFromComputeInstanceName', () => { - const result = client.matchZoneFromComputeInstanceName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchInstanceFromComputeInstanceName', () => { - const result = client.matchInstanceFromComputeInstanceName(fakePath); - assert.strictEqual(result, "instanceValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('diskType', async () => { - const fakePath = "/rendered/path/diskType"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - disk_type: "diskTypeValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.diskTypePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.diskTypePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('diskTypePath', () => { - const result = client.diskTypePath("projectValue", "zoneValue", "diskTypeValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.diskTypePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromDiskTypeName', () => { - const result = client.matchProjectFromDiskTypeName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchZoneFromDiskTypeName', () => { - const result = client.matchZoneFromDiskTypeName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchDiskTypeFromDiskTypeName', () => { - const result = client.matchDiskTypeFromDiskTypeName(fakePath); - assert.strictEqual(result, "diskTypeValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('fileInstance', async () => { - const fakePath = "/rendered/path/fileInstance"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - instance: "instanceValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.fileInstancePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.fileInstancePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('fileInstancePath', () => { - const result = client.fileInstancePath("projectValue", "locationValue", "instanceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.fileInstancePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromFileInstanceName', () => { - const result = client.matchProjectFromFileInstanceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.fileInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromFileInstanceName', () => { - const result = client.matchLocationFromFileInstanceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.fileInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchInstanceFromFileInstanceName', () => { - const result = client.matchInstanceFromFileInstanceName(fakePath); - assert.strictEqual(result, "instanceValue"); - assert((client.pathTemplates.fileInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('location', async () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('network', async () => { - const fakePath = "/rendered/path/network"; - const expectedParameters = { - project: "projectValue", - network: "networkValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.networkPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.networkPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('networkPath', () => { - const result = client.networkPath("projectValue", "networkValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.networkPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromNetworkName', () => { - const result = client.matchProjectFromNetworkName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.networkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchNetworkFromNetworkName', () => { - const result = client.matchNetworkFromNetworkName(fakePath); - assert.strictEqual(result, "networkValue"); - assert((client.pathTemplates.networkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('project', async () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('cluster', async () => { + const fakePath = '/rendered/path/cluster'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + cluster: 'clusterValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.clusterPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.clusterPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('clusterPath', () => { + const result = client.clusterPath( + 'projectValue', + 'locationValue', + 'clusterValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.clusterPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromClusterName', () => { + const result = client.matchProjectFromClusterName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromClusterName', () => { + const result = client.matchLocationFromClusterName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchClusterFromClusterName', () => { + const result = client.matchClusterFromClusterName(fakePath); + assert.strictEqual(result, 'clusterValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('reservation', async () => { - const fakePath = "/rendered/path/reservation"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - reservation: "reservationValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.reservationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.reservationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('reservationPath', () => { - const result = client.reservationPath("projectValue", "zoneValue", "reservationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.reservationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('computeInstance', async () => { + const fakePath = '/rendered/path/computeInstance'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + instance: 'instanceValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.computeInstancePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.computeInstancePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('computeInstancePath', () => { + const result = client.computeInstancePath( + 'projectValue', + 'zoneValue', + 'instanceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.computeInstancePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromComputeInstanceName', () => { + const result = client.matchProjectFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromComputeInstanceName', () => { + const result = client.matchZoneFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchInstanceFromComputeInstanceName', () => { + const result = client.matchInstanceFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'instanceValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromReservationName', () => { - const result = client.matchProjectFromReservationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('diskType', async () => { + const fakePath = '/rendered/path/diskType'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + disk_type: 'diskTypeValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.diskTypePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.diskTypePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('diskTypePath', () => { + const result = client.diskTypePath( + 'projectValue', + 'zoneValue', + 'diskTypeValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.diskTypePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromDiskTypeName', () => { + const result = client.matchProjectFromDiskTypeName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromDiskTypeName', () => { + const result = client.matchZoneFromDiskTypeName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchDiskTypeFromDiskTypeName', () => { + const result = client.matchDiskTypeFromDiskTypeName(fakePath); + assert.strictEqual(result, 'diskTypeValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchZoneFromReservationName', () => { - const result = client.matchZoneFromReservationName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('fileInstance', async () => { + const fakePath = '/rendered/path/fileInstance'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + instance: 'instanceValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.fileInstancePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.fileInstancePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('fileInstancePath', () => { + const result = client.fileInstancePath( + 'projectValue', + 'locationValue', + 'instanceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.fileInstancePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromFileInstanceName', () => { + const result = client.matchProjectFromFileInstanceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.fileInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromFileInstanceName', () => { + const result = client.matchLocationFromFileInstanceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.fileInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchInstanceFromFileInstanceName', () => { + const result = client.matchInstanceFromFileInstanceName(fakePath); + assert.strictEqual(result, 'instanceValue'); + assert( + (client.pathTemplates.fileInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchReservationFromReservationName', () => { - const result = client.matchReservationFromReservationName(fakePath); - assert.strictEqual(result, "reservationValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('location', async () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await 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('subnetwork', async () => { - const fakePath = "/rendered/path/subnetwork"; - const expectedParameters = { - project: "projectValue", - region: "regionValue", - subnetwork: "subnetworkValue", - }; - const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.subnetworkPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.subnetworkPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('subnetworkPath', () => { - const result = client.subnetworkPath("projectValue", "regionValue", "subnetworkValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.subnetworkPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('network', async () => { + const fakePath = '/rendered/path/network'; + const expectedParameters = { + project: 'projectValue', + network: 'networkValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.networkPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.networkPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('networkPath', () => { + const result = client.networkPath('projectValue', 'networkValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.networkPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromNetworkName', () => { + const result = client.matchProjectFromNetworkName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.networkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNetworkFromNetworkName', () => { + const result = client.matchNetworkFromNetworkName(fakePath); + assert.strictEqual(result, 'networkValue'); + assert( + (client.pathTemplates.networkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromSubnetworkName', () => { - const result = client.matchProjectFromSubnetworkName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('project', async () => { + const fakePath = '/rendered/path/project'; + const expectedParameters = { + project: 'projectValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await 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), + ); + }); + }); - it('matchRegionFromSubnetworkName', () => { - const result = client.matchRegionFromSubnetworkName(fakePath); - assert.strictEqual(result, "regionValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('reservation', async () => { + const fakePath = '/rendered/path/reservation'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + reservation: 'reservationValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.reservationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.reservationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('reservationPath', () => { + const result = client.reservationPath( + 'projectValue', + 'zoneValue', + 'reservationValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.reservationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromReservationName', () => { + const result = client.matchProjectFromReservationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromReservationName', () => { + const result = client.matchZoneFromReservationName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationFromReservationName', () => { + const result = client.matchReservationFromReservationName(fakePath); + assert.strictEqual(result, 'reservationValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchSubnetworkFromSubnetworkName', () => { - const result = client.matchSubnetworkFromSubnetworkName(fakePath); - assert.strictEqual(result, "subnetworkValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('subnetwork', async () => { + const fakePath = '/rendered/path/subnetwork'; + const expectedParameters = { + project: 'projectValue', + region: 'regionValue', + subnetwork: 'subnetworkValue', + }; + const client = new hypercomputeclusterModule.v1.HypercomputeClusterClient( + { + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }, + ); + await client.initialize(); + client.pathTemplates.subnetworkPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.subnetworkPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('subnetworkPath', () => { + const result = client.subnetworkPath( + 'projectValue', + 'regionValue', + 'subnetworkValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.subnetworkPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromSubnetworkName', () => { + const result = client.matchProjectFromSubnetworkName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchRegionFromSubnetworkName', () => { + const result = client.matchRegionFromSubnetworkName(fakePath); + assert.strictEqual(result, 'regionValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchSubnetworkFromSubnetworkName', () => { + const result = client.matchSubnetworkFromSubnetworkName(fakePath); + assert.strictEqual(result, 'subnetworkValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1alpha.ts b/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1alpha.ts index 05108e2f7d2d..397cabecba7e 100644 --- a/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1alpha.ts +++ b/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1alpha.ts @@ -19,2807 +19,3823 @@ 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 { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as hypercomputeclusterModule from '../src'; -import {PassThrough} from 'stream'; +import { PassThrough } from 'stream'; -import {protobuf, LROperation, operationsProtos, LocationProtos} from 'google-gax'; +import { + protobuf, + LROperation, + operationsProtos, + LocationProtos, +} 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(); +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; + 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) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as 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]); + 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 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 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 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]); - } +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(); }); + } + 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({}); + }); } - return sinon.stub().returns(mockStream); + 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); +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('v1alpha.HypercomputeClusterClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = hypercomputeclusterModule.v1alpha.HypercomputeClusterClient.servicePath; - assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = hypercomputeclusterModule.v1alpha.HypercomputeClusterClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + }); - it('has port', () => { - const port = hypercomputeclusterModule.v1alpha.HypercomputeClusterClient.port; - assert(port); - assert(typeof port === 'number'); - }); + it('has universeDomain', () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - it('should create a client with no option', () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); - assert(client); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + hypercomputeclusterModule.v1alpha.HypercomputeClusterClient + .servicePath; + assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + hypercomputeclusterModule.v1alpha.HypercomputeClusterClient + .apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + universeDomain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('should create a client with gRPC fallback', () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - fallback: true, - }); - assert(client); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + universe_domain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.hypercomputeClusterStub, undefined); - await client.initialize(); - assert(client.hypercomputeClusterStub); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'hypercomputecluster.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('has close method for the initialized client', done => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.hypercomputeClusterStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('has port', () => { + const port = + hypercomputeclusterModule.v1alpha.HypercomputeClusterClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has close method for the non-initialized client', done => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.hypercomputeClusterStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('should create a client with no option', () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient(); + assert(client); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - 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('should create a client with gRPC fallback', () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + fallback: true, }); + assert(client); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - 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); + it('has initialize method and supports deferred initialization', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', }); + assert.strictEqual(client.hypercomputeClusterStub, undefined); + await client.initialize(); + assert(client.hypercomputeClusterStub); }); - describe('getCluster', () => { - it('invokes getCluster without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.Cluster() - ); - client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); - const [response] = await client.getCluster(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.Cluster() - ); - client.innerApiCalls.getCluster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getCluster( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.ICluster|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCluster with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getCluster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCluster with closed client', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getCluster(request), expectedError); - }); - }); - - describe('getNode', () => { - it('invokes getNode without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.Node() - ); - client.innerApiCalls.getNode = stubSimpleCall(expectedResponse); - const [response] = await client.getNode(request); - assert.deepStrictEqual(response, expectedResponse); - 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 () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.Node() - ); - client.innerApiCalls.getNode = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getNode( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.INode|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - 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 () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.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); - 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 () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getNode(request), expectedError); - }); - }); - - describe('createCluster', () => { - it('invokes createCluster without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.createCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.createCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.createCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkCreateClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkCreateClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkCreateClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkCreateClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); + it('has close method for the initialized client', (done) => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.hypercomputeClusterStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('updateCluster', () => { - it('invokes updateCluster without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.updateCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.updateCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.updateCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkUpdateClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkUpdateClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkUpdateClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkUpdateClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); + it('has close method for the non-initialized client', (done) => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.hypercomputeClusterStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('deleteCluster', () => { - it('invokes deleteCluster without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.deleteCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.deleteCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.deleteCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkDeleteClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkDeleteClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkDeleteClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + 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.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkDeleteClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + 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('getCluster', () => { + it('invokes getCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ); + client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); + const [response] = await client.getCluster(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listClusters', () => { - it('invokes listClusters without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - ]; - client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); - const [response] = await client.listClusters(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listClusters without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - ]; - client.innerApiCalls.listClusters = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listClusters( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.ICluster[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listClusters with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listClusters = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listClusters(request), expectedError); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listClustersStream without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - ]; - client.descriptors.page.listClusters.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listClustersStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.Cluster[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.Cluster) => { - 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.listClusters.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listClusters, request)); - assert( - (client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listClustersStream with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listClusters.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listClustersStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.Cluster[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.Cluster) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listClusters, request)); - assert( - (client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listClusters without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Cluster()), - ]; - client.descriptors.page.listClusters.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ICluster[] = []; - const iterable = client.listClustersAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listClusters with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listClusters.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listClustersAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ICluster[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('listNodes', () => { - it('invokes listNodes without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - ]; - client.innerApiCalls.listNodes = stubSimpleCall(expectedResponse); - const [response] = await client.listNodes(request); - assert.deepStrictEqual(response, expectedResponse); - 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 () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - ]; - client.innerApiCalls.listNodes = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listNodes( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.INode[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - 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 () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.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); - 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 () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - ]; - client.descriptors.page.listNodes.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listNodesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.Node[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.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( - (client.descriptors.page.listNodes.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listNodesStream with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - 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.hypercomputecluster.v1alpha.Node[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.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( - (client.descriptors.page.listNodes.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listNodes without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.Node()), - ]; - client.descriptors.page.listNodes.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1alpha.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( - (client.descriptors.page.listNodes.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listNodes with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - 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.hypercomputecluster.v1alpha.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( - (client.descriptors.page.listNodes.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes getCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ); + client.innerApiCalls.getCluster = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getCluster( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1alpha.ICluster | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - describe('getOperation', () => { - it('invokes getOperation without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const response = await client.getOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes getOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.getOperation( - request, - undefined, - ( - err?: Error | null, - result?: operationsProtos.google.longrunning.Operation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); - it('invokes getOperation with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.getOperation(request)}, expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('cancelOperation', () => { - it('invokes cancelOperation without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = stubSimpleCall(expectedResponse); - const response = await client.cancelOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes cancelOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.cancelOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0)); - }); - it('invokes cancelOperation with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.cancelOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.cancelOperation(request)}, expectedError); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('deleteOperation', () => { - it('invokes deleteOperation without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = stubSimpleCall(expectedResponse); - const response = await client.deleteOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes deleteOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.deleteOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0)); - }); - it('invokes deleteOperation with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.deleteOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.deleteOperation(request)}, expectedError); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('listOperationsAsync', () => { - it('uses async iteration with listOperations without error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedResponse = [ - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - ]; - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: operationsProtos.google.longrunning.IOperation[] = []; - const iterable = client.operationsClient.listOperationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); - it('uses async iteration with listOperations with error', async () => { - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.operationsClient.listOperationsAsync(request); - await assert.rejects(async () => { - const responses: operationsProtos.google.longrunning.IOperation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('Path templates', () => { - - describe('bucket', async () => { - const fakePath = "/rendered/path/bucket"; - const expectedParameters = { - project: "projectValue", - bucket: "bucketValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.bucketPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.bucketPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('bucketPath', () => { - const result = client.bucketPath("projectValue", "bucketValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.bucketPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromBucketName', () => { - const result = client.matchProjectFromBucketName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.bucketPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchBucketFromBucketName', () => { - const result = client.matchBucketFromBucketName(fakePath); - assert.strictEqual(result, "bucketValue"); - assert((client.pathTemplates.bucketPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cluster', async () => { - const fakePath = "/rendered/path/cluster"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - cluster: "clusterValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.clusterPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.clusterPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('clusterPath', () => { - const result = client.clusterPath("projectValue", "locationValue", "clusterValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.clusterPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromClusterName', () => { - const result = client.matchProjectFromClusterName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromClusterName', () => { - const result = client.matchLocationFromClusterName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchClusterFromClusterName', () => { - const result = client.matchClusterFromClusterName(fakePath); - assert.strictEqual(result, "clusterValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('computeInstance', async () => { - const fakePath = "/rendered/path/computeInstance"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - instance: "instanceValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.computeInstancePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.computeInstancePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('computeInstancePath', () => { - const result = client.computeInstancePath("projectValue", "zoneValue", "instanceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.computeInstancePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromComputeInstanceName', () => { - const result = client.matchProjectFromComputeInstanceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchZoneFromComputeInstanceName', () => { - const result = client.matchZoneFromComputeInstanceName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchInstanceFromComputeInstanceName', () => { - const result = client.matchInstanceFromComputeInstanceName(fakePath); - assert.strictEqual(result, "instanceValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('diskType', async () => { - const fakePath = "/rendered/path/diskType"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - disk_type: "diskTypeValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.diskTypePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.diskTypePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('diskTypePath', () => { - const result = client.diskTypePath("projectValue", "zoneValue", "diskTypeValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.diskTypePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromDiskTypeName', () => { - const result = client.matchProjectFromDiskTypeName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchZoneFromDiskTypeName', () => { - const result = client.matchZoneFromDiskTypeName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchDiskTypeFromDiskTypeName', () => { - const result = client.matchDiskTypeFromDiskTypeName(fakePath); - assert.strictEqual(result, "diskTypeValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('image', async () => { - const fakePath = "/rendered/path/image"; - const expectedParameters = { - project: "projectValue", - image: "imageValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.imagePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.imagePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('imagePath', () => { - const result = client.imagePath("projectValue", "imageValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.imagePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromImageName', () => { - const result = client.matchProjectFromImageName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.imagePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchImageFromImageName', () => { - const result = client.matchImageFromImageName(fakePath); - assert.strictEqual(result, "imageValue"); - assert((client.pathTemplates.imagePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('instance', async () => { - const fakePath = "/rendered/path/instance"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - instance: "instanceValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.instancePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.instancePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('instancePath', () => { - const result = client.instancePath("projectValue", "locationValue", "instanceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.instancePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromInstanceName', () => { - const result = client.matchProjectFromInstanceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.instancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromInstanceName', () => { - const result = client.matchLocationFromInstanceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.instancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchInstanceFromInstanceName', () => { - const result = client.matchInstanceFromInstanceName(fakePath); - assert.strictEqual(result, "instanceValue"); - assert((client.pathTemplates.instancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('location', async () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('machineLearningRun', async () => { - const fakePath = "/rendered/path/machineLearningRun"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.machineLearningRunPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.machineLearningRunPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('machineLearningRunPath', () => { - const result = client.machineLearningRunPath("projectValue", "locationValue", "machineLearningRunValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.machineLearningRunPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromMachineLearningRunName', () => { - const result = client.matchProjectFromMachineLearningRunName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.machineLearningRunPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromMachineLearningRunName', () => { - const result = client.matchLocationFromMachineLearningRunName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.machineLearningRunPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchMachineLearningRunFromMachineLearningRunName', () => { - const result = client.matchMachineLearningRunFromMachineLearningRunName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.machineLearningRunPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('monitoredEvent', async () => { - const fakePath = "/rendered/path/monitoredEvent"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - monitored_event: "monitoredEventValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.monitoredEventPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.monitoredEventPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('monitoredEventPath', () => { - const result = client.monitoredEventPath("projectValue", "locationValue", "machineLearningRunValue", "monitoredEventValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.monitoredEventPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromMonitoredEventName', () => { - const result = client.matchProjectFromMonitoredEventName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromMonitoredEventName', () => { - const result = client.matchLocationFromMonitoredEventName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchMachineLearningRunFromMonitoredEventName', () => { - const result = client.matchMachineLearningRunFromMonitoredEventName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchMonitoredEventFromMonitoredEventName', () => { - const result = client.matchMonitoredEventFromMonitoredEventName(fakePath); - assert.strictEqual(result, "monitoredEventValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes getCluster with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getCluster = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('network', async () => { - const fakePath = "/rendered/path/network"; - const expectedParameters = { - project: "projectValue", - network: "networkValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.networkPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.networkPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('networkPath', () => { - const result = client.networkPath("projectValue", "networkValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.networkPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes getCluster with closed client', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getCluster(request), expectedError); + }); + }); + + describe('getNode', () => { + it('invokes getNode without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ); + client.innerApiCalls.getNode = stubSimpleCall(expectedResponse); + const [response] = await client.getNode(request); + assert.deepStrictEqual(response, expectedResponse); + 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('matchProjectFromNetworkName', () => { - const result = client.matchProjectFromNetworkName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.networkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes getNode without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ); + client.innerApiCalls.getNode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getNode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1alpha.INode | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + 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('matchNetworkFromNetworkName', () => { - const result = client.matchNetworkFromNetworkName(fakePath); - assert.strictEqual(result, "networkValue"); - assert((client.pathTemplates.networkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes getNode with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.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); + 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)); + }); - describe('node', async () => { - const fakePath = "/rendered/path/node"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - cluster: "clusterValue", - node: "nodeValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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", "clusterValue", "nodeValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.nodePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes getNode with closed client', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetNodeRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getNode(request), expectedError); + }); + }); + + describe('createCluster', () => { + it('invokes createCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromNodeName', () => { - const result = client.matchProjectFromNodeName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromNodeName', () => { - const result = client.matchLocationFromNodeName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createCluster with call error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.createCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchClusterFromNodeName', () => { - const result = client.matchClusterFromNodeName(fakePath); - assert.strictEqual(result, "clusterValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createCluster with LRO error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.createCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchNodeFromNodeName', () => { - const result = client.matchNodeFromNodeName(fakePath); - assert.strictEqual(result, "nodeValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes checkCreateClusterProgress without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkCreateClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - describe('pod', async () => { - const fakePath = "/rendered/path/pod"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - cluster: "clusterValue", - namespace: "namespaceValue", - pod: "podValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.podPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.podPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('podPath', () => { - const result = client.podPath("projectValue", "locationValue", "clusterValue", "namespaceValue", "podValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.podPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes checkCreateClusterProgress with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkCreateClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateCluster', () => { + it('invokes updateCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromPodName', () => { - const result = client.matchProjectFromPodName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.podPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.ICluster, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromPodName', () => { - const result = client.matchLocationFromPodName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.podPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateCluster with call error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchClusterFromPodName', () => { - const result = client.matchClusterFromPodName(fakePath); - assert.strictEqual(result, "clusterValue"); - assert((client.pathTemplates.podPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateCluster with LRO error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.updateCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchNamespaceFromPodName', () => { - const result = client.matchNamespaceFromPodName(fakePath); - assert.strictEqual(result, "namespaceValue"); - assert((client.pathTemplates.podPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkUpdateClusterProgress without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkUpdateClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchPodFromPodName', () => { - const result = client.matchPodFromPodName(fakePath); - assert.strictEqual(result, "podValue"); - assert((client.pathTemplates.podPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes checkUpdateClusterProgress with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkUpdateClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteCluster', () => { + it('invokes deleteCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('profileSession', async () => { - const fakePath = "/rendered/path/profileSession"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - profile_session: "profileSessionValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.profileSessionPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.profileSessionPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('profileSessionPath', () => { - const result = client.profileSessionPath("projectValue", "locationValue", "machineLearningRunValue", "profileSessionValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.profileSessionPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes deleteCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromProfileSessionName', () => { - const result = client.matchProjectFromProfileSessionName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteCluster with call error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromProfileSessionName', () => { - const result = client.matchLocationFromProfileSessionName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteCluster with LRO error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.deleteCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchMachineLearningRunFromProfileSessionName', () => { - const result = client.matchMachineLearningRunFromProfileSessionName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkDeleteClusterProgress without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkDeleteClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchProfileSessionFromProfileSessionName', () => { - const result = client.matchProfileSessionFromProfileSessionName(fakePath); - assert.strictEqual(result, "profileSessionValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes checkDeleteClusterProgress with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkDeleteClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listClusters', () => { + it('invokes listClusters without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + ]; + client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); + const [response] = await client.listClusters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('profilerSession', async () => { - const fakePath = "/rendered/path/profilerSession"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - profiler_session: "profilerSessionValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.profilerSessionPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.profilerSessionPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('profilerSessionPath', () => { - const result = client.profilerSessionPath("projectValue", "locationValue", "machineLearningRunValue", "profilerSessionValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.profilerSessionPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes listClusters without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + ]; + client.innerApiCalls.listClusters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listClusters( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1alpha.ICluster[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromProfilerSessionName', () => { - const result = client.matchProjectFromProfilerSessionName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listClusters with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listClusters = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listClusters(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromProfilerSessionName', () => { - const result = client.matchLocationFromProfilerSessionName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listClustersStream without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + ]; + client.descriptors.page.listClusters.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listClustersStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.Cluster[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.Cluster, + ) => { + 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.listClusters.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listClusters, request), + ); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchMachineLearningRunFromProfilerSessionName', () => { - const result = client.matchMachineLearningRunFromProfilerSessionName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listClustersStream with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listClusters.createStream = stubPageStreamingCall( + undefined, + expectedError, + ); + const stream = client.listClustersStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.Cluster[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.Cluster, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listClusters, request), + ); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchProfilerSessionFromProfilerSessionName', () => { - const result = client.matchProfilerSessionFromProfilerSessionName(fakePath); - assert.strictEqual(result, "profilerSessionValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('uses async iteration with listClusters without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Cluster(), + ), + ]; + client.descriptors.page.listClusters.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ICluster[] = + []; + const iterable = client.listClustersAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listClusters.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listClusters.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - describe('profilerTarget', async () => { - const fakePath = "/rendered/path/profilerTarget"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - profiler_target: "profilerTargetValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.profilerTargetPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.profilerTargetPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('profilerTargetPath', () => { - const result = client.profilerTargetPath("projectValue", "locationValue", "machineLearningRunValue", "profilerTargetValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.profilerTargetPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('uses async iteration with listClusters with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listClusters.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listClustersAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ICluster[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listClusters.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listClusters.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listNodes', () => { + it('invokes listNodes without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + ]; + client.innerApiCalls.listNodes = stubSimpleCall(expectedResponse); + const [response] = await client.listNodes(request); + assert.deepStrictEqual(response, expectedResponse); + 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('matchProjectFromProfilerTargetName', () => { - const result = client.matchProjectFromProfilerTargetName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listNodes without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + ]; + client.innerApiCalls.listNodes = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listNodes( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1alpha.INode[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + 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('matchLocationFromProfilerTargetName', () => { - const result = client.matchLocationFromProfilerTargetName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listNodes with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.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); + 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('matchMachineLearningRunFromProfilerTargetName', () => { - const result = client.matchMachineLearningRunFromProfilerTargetName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listNodesStream without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + ]; + client.descriptors.page.listNodes.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listNodesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.Node[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.hypercomputecluster.v1alpha.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( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchProfilerTargetFromProfilerTargetName', () => { - const result = client.matchProfilerTargetFromProfilerTargetName(fakePath); - assert.strictEqual(result, "profilerTargetValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes listNodesStream with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + 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.hypercomputecluster.v1alpha.Node[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.hypercomputecluster.v1alpha.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( + (client.descriptors.page.listNodes.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - describe('project', async () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('uses async iteration with listNodes without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.Node(), + ), + ]; + client.descriptors.page.listNodes.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1alpha.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( + (client.descriptors.page.listNodes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchProjectFromProjectName', () => { - const result = client.matchProjectFromProjectName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.projectPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('uses async iteration with listNodes with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListNodesRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + 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.hypercomputecluster.v1alpha.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( + (client.descriptors.page.listNodes.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + it('invokes getLocation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + describe('getOperation', () => { + it('invokes getOperation without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const response = await client.getOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes getOperation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .getOperation( + request, + undefined, + ( + err?: Error | null, + result?: operationsProtos.google.longrunning.Operation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + it('invokes getOperation with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.getOperation(request); + }, expectedError); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('cancelOperation', () => { + it('invokes cancelOperation without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = + stubSimpleCall(expectedResponse); + const response = await client.cancelOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes cancelOperation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .cancelOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.cancelOperation as SinonStub).getCall(0)); + }); + it('invokes cancelOperation with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.cancelOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.cancelOperation(request); + }, expectedError); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('deleteOperation', () => { + it('invokes deleteOperation without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = + stubSimpleCall(expectedResponse); + const response = await client.deleteOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes deleteOperation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .deleteOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.deleteOperation as SinonStub).getCall(0)); + }); + it('invokes deleteOperation with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.deleteOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.deleteOperation(request); + }, expectedError); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('listOperationsAsync', () => { + it('uses async iteration with listOperations without error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedResponse = [ + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + ]; + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: operationsProtos.google.longrunning.IOperation[] = []; + const iterable = client.operationsClient.listOperationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + it('uses async iteration with listOperations with error', async () => { + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.operationsClient.listOperationsAsync(request); + await assert.rejects(async () => { + const responses: operationsProtos.google.longrunning.IOperation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + }); + + describe('Path templates', () => { + describe('bucket', async () => { + const fakePath = '/rendered/path/bucket'; + const expectedParameters = { + project: 'projectValue', + bucket: 'bucketValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.bucketPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.bucketPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('bucketPath', () => { + const result = client.bucketPath('projectValue', 'bucketValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.bucketPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromBucketName', () => { + const result = client.matchProjectFromBucketName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.bucketPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchBucketFromBucketName', () => { + const result = client.matchBucketFromBucketName(fakePath); + assert.strictEqual(result, 'bucketValue'); + assert( + (client.pathTemplates.bucketPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('reservation', async () => { - const fakePath = "/rendered/path/reservation"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - reservation: "reservationValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.reservationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.reservationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('reservationPath', () => { - const result = client.reservationPath("projectValue", "zoneValue", "reservationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.reservationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('cluster', async () => { + const fakePath = '/rendered/path/cluster'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + cluster: 'clusterValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.clusterPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.clusterPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('clusterPath', () => { + const result = client.clusterPath( + 'projectValue', + 'locationValue', + 'clusterValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.clusterPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromClusterName', () => { + const result = client.matchProjectFromClusterName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromClusterName', () => { + const result = client.matchLocationFromClusterName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchClusterFromClusterName', () => { + const result = client.matchClusterFromClusterName(fakePath); + assert.strictEqual(result, 'clusterValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromReservationName', () => { - const result = client.matchProjectFromReservationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('computeInstance', async () => { + const fakePath = '/rendered/path/computeInstance'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + instance: 'instanceValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.computeInstancePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.computeInstancePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('computeInstancePath', () => { + const result = client.computeInstancePath( + 'projectValue', + 'zoneValue', + 'instanceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.computeInstancePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromComputeInstanceName', () => { + const result = client.matchProjectFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromComputeInstanceName', () => { + const result = client.matchZoneFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchInstanceFromComputeInstanceName', () => { + const result = client.matchInstanceFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'instanceValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchZoneFromReservationName', () => { - const result = client.matchZoneFromReservationName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('diskType', async () => { + const fakePath = '/rendered/path/diskType'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + disk_type: 'diskTypeValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.diskTypePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.diskTypePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('diskTypePath', () => { + const result = client.diskTypePath( + 'projectValue', + 'zoneValue', + 'diskTypeValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.diskTypePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromDiskTypeName', () => { + const result = client.matchProjectFromDiskTypeName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromDiskTypeName', () => { + const result = client.matchZoneFromDiskTypeName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchDiskTypeFromDiskTypeName', () => { + const result = client.matchDiskTypeFromDiskTypeName(fakePath); + assert.strictEqual(result, 'diskTypeValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchReservationFromReservationName', () => { - const result = client.matchReservationFromReservationName(fakePath); - assert.strictEqual(result, "reservationValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('image', async () => { + const fakePath = '/rendered/path/image'; + const expectedParameters = { + project: 'projectValue', + image: 'imageValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.imagePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.imagePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('imagePath', () => { + const result = client.imagePath('projectValue', 'imageValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.imagePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromImageName', () => { + const result = client.matchProjectFromImageName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.imagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchImageFromImageName', () => { + const result = client.matchImageFromImageName(fakePath); + assert.strictEqual(result, 'imageValue'); + assert( + (client.pathTemplates.imagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('reservationBlock', async () => { - const fakePath = "/rendered/path/reservationBlock"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - reservation: "reservationValue", - reservation_block: "reservationBlockValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.reservationBlockPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.reservationBlockPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('reservationBlockPath', () => { - const result = client.reservationBlockPath("projectValue", "zoneValue", "reservationValue", "reservationBlockValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.reservationBlockPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('instance', async () => { + const fakePath = '/rendered/path/instance'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + instance: 'instanceValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.instancePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.instancePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('instancePath', () => { + const result = client.instancePath( + 'projectValue', + 'locationValue', + 'instanceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.instancePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromInstanceName', () => { + const result = client.matchProjectFromInstanceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.instancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromInstanceName', () => { + const result = client.matchLocationFromInstanceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.instancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchInstanceFromInstanceName', () => { + const result = client.matchInstanceFromInstanceName(fakePath); + assert.strictEqual(result, 'instanceValue'); + assert( + (client.pathTemplates.instancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromReservationBlockName', () => { - const result = client.matchProjectFromReservationBlockName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('location', async () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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), + ); + }); + }); - it('matchZoneFromReservationBlockName', () => { - const result = client.matchZoneFromReservationBlockName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('machineLearningRun', async () => { + const fakePath = '/rendered/path/machineLearningRun'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.machineLearningRunPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.machineLearningRunPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('machineLearningRunPath', () => { + const result = client.machineLearningRunPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + ); + assert.strictEqual(result, fakePath); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .render as SinonStub + ) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromMachineLearningRunName', () => { + const result = client.matchProjectFromMachineLearningRunName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromMachineLearningRunName', () => { + const result = client.matchLocationFromMachineLearningRunName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromMachineLearningRunName', () => { + const result = + client.matchMachineLearningRunFromMachineLearningRunName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchReservationFromReservationBlockName', () => { - const result = client.matchReservationFromReservationBlockName(fakePath); - assert.strictEqual(result, "reservationValue"); - assert((client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('monitoredEvent', async () => { + const fakePath = '/rendered/path/monitoredEvent'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + monitored_event: 'monitoredEventValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.monitoredEventPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.monitoredEventPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('monitoredEventPath', () => { + const result = client.monitoredEventPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'monitoredEventValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.monitoredEventPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromMonitoredEventName', () => { + const result = client.matchProjectFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromMonitoredEventName', () => { + const result = client.matchLocationFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromMonitoredEventName', () => { + const result = + client.matchMachineLearningRunFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMonitoredEventFromMonitoredEventName', () => { + const result = + client.matchMonitoredEventFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'monitoredEventValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchReservationBlockFromReservationBlockName', () => { - const result = client.matchReservationBlockFromReservationBlockName(fakePath); - assert.strictEqual(result, "reservationBlockValue"); - assert((client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('network', async () => { + const fakePath = '/rendered/path/network'; + const expectedParameters = { + project: 'projectValue', + network: 'networkValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.networkPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.networkPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('networkPath', () => { + const result = client.networkPath('projectValue', 'networkValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.networkPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromNetworkName', () => { + const result = client.matchProjectFromNetworkName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.networkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNetworkFromNetworkName', () => { + const result = client.matchNetworkFromNetworkName(fakePath); + assert.strictEqual(result, 'networkValue'); + assert( + (client.pathTemplates.networkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('reservationSubBlock', async () => { - const fakePath = "/rendered/path/reservationSubBlock"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - reservation: "reservationValue", - reservation_block: "reservationBlockValue", - reservation_sub_block: "reservationSubBlockValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.reservationSubBlockPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.reservationSubBlockPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('reservationSubBlockPath', () => { - const result = client.reservationSubBlockPath("projectValue", "zoneValue", "reservationValue", "reservationBlockValue", "reservationSubBlockValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.reservationSubBlockPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('node', async () => { + const fakePath = '/rendered/path/node'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + cluster: 'clusterValue', + node: 'nodeValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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', + 'clusterValue', + '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('matchClusterFromNodeName', () => { + const result = client.matchClusterFromNodeName(fakePath); + assert.strictEqual(result, 'clusterValue'); + 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), + ); + }); + }); - it('matchProjectFromReservationSubBlockName', () => { - const result = client.matchProjectFromReservationSubBlockName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.reservationSubBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('pod', async () => { + const fakePath = '/rendered/path/pod'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + cluster: 'clusterValue', + namespace: 'namespaceValue', + pod: 'podValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.podPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.podPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('podPath', () => { + const result = client.podPath( + 'projectValue', + 'locationValue', + 'clusterValue', + 'namespaceValue', + 'podValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.podPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromPodName', () => { + const result = client.matchProjectFromPodName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.podPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromPodName', () => { + const result = client.matchLocationFromPodName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.podPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchClusterFromPodName', () => { + const result = client.matchClusterFromPodName(fakePath); + assert.strictEqual(result, 'clusterValue'); + assert( + (client.pathTemplates.podPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNamespaceFromPodName', () => { + const result = client.matchNamespaceFromPodName(fakePath); + assert.strictEqual(result, 'namespaceValue'); + assert( + (client.pathTemplates.podPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchPodFromPodName', () => { + const result = client.matchPodFromPodName(fakePath); + assert.strictEqual(result, 'podValue'); + assert( + (client.pathTemplates.podPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchZoneFromReservationSubBlockName', () => { - const result = client.matchZoneFromReservationSubBlockName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.reservationSubBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('profileSession', async () => { + const fakePath = '/rendered/path/profileSession'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + profile_session: 'profileSessionValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.profileSessionPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.profileSessionPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('profileSessionPath', () => { + const result = client.profileSessionPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'profileSessionValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.profileSessionPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromProfileSessionName', () => { + const result = client.matchProjectFromProfileSessionName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromProfileSessionName', () => { + const result = client.matchLocationFromProfileSessionName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromProfileSessionName', () => { + const result = + client.matchMachineLearningRunFromProfileSessionName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchProfileSessionFromProfileSessionName', () => { + const result = + client.matchProfileSessionFromProfileSessionName(fakePath); + assert.strictEqual(result, 'profileSessionValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchReservationFromReservationSubBlockName', () => { - const result = client.matchReservationFromReservationSubBlockName(fakePath); - assert.strictEqual(result, "reservationValue"); - assert((client.pathTemplates.reservationSubBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('profilerSession', async () => { + const fakePath = '/rendered/path/profilerSession'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + profiler_session: 'profilerSessionValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.profilerSessionPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.profilerSessionPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('profilerSessionPath', () => { + const result = client.profilerSessionPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'profilerSessionValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.profilerSessionPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromProfilerSessionName', () => { + const result = client.matchProjectFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromProfilerSessionName', () => { + const result = client.matchLocationFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromProfilerSessionName', () => { + const result = + client.matchMachineLearningRunFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchProfilerSessionFromProfilerSessionName', () => { + const result = + client.matchProfilerSessionFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'profilerSessionValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchReservationBlockFromReservationSubBlockName', () => { - const result = client.matchReservationBlockFromReservationSubBlockName(fakePath); - assert.strictEqual(result, "reservationBlockValue"); - assert((client.pathTemplates.reservationSubBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('profilerTarget', async () => { + const fakePath = '/rendered/path/profilerTarget'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + profiler_target: 'profilerTargetValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.profilerTargetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.profilerTargetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('profilerTargetPath', () => { + const result = client.profilerTargetPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'profilerTargetValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.profilerTargetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromProfilerTargetName', () => { + const result = client.matchProjectFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromProfilerTargetName', () => { + const result = client.matchLocationFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromProfilerTargetName', () => { + const result = + client.matchMachineLearningRunFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchProfilerTargetFromProfilerTargetName', () => { + const result = + client.matchProfilerTargetFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'profilerTargetValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchReservationSubBlockFromReservationSubBlockName', () => { - const result = client.matchReservationSubBlockFromReservationSubBlockName(fakePath); - assert.strictEqual(result, "reservationSubBlockValue"); - assert((client.pathTemplates.reservationSubBlockPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('project', async () => { + const fakePath = '/rendered/path/project'; + const expectedParameters = { + project: 'projectValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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('subnetwork', async () => { - const fakePath = "/rendered/path/subnetwork"; - const expectedParameters = { - project: "projectValue", - region: "regionValue", - subnetwork: "subnetworkValue", - }; - const client = new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.subnetworkPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.subnetworkPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('subnetworkPath', () => { - const result = client.subnetworkPath("projectValue", "regionValue", "subnetworkValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.subnetworkPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('reservation', async () => { + const fakePath = '/rendered/path/reservation'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + reservation: 'reservationValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.reservationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.reservationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('reservationPath', () => { + const result = client.reservationPath( + 'projectValue', + 'zoneValue', + 'reservationValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.reservationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromReservationName', () => { + const result = client.matchProjectFromReservationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromReservationName', () => { + const result = client.matchZoneFromReservationName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationFromReservationName', () => { + const result = client.matchReservationFromReservationName(fakePath); + assert.strictEqual(result, 'reservationValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromSubnetworkName', () => { - const result = client.matchProjectFromSubnetworkName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('reservationBlock', async () => { + const fakePath = '/rendered/path/reservationBlock'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + reservation: 'reservationValue', + reservation_block: 'reservationBlockValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.reservationBlockPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.reservationBlockPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('reservationBlockPath', () => { + const result = client.reservationBlockPath( + 'projectValue', + 'zoneValue', + 'reservationValue', + 'reservationBlockValue', + ); + assert.strictEqual(result, fakePath); + assert( + ( + client.pathTemplates.reservationBlockPathTemplate + .render as SinonStub + ) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromReservationBlockName', () => { + const result = client.matchProjectFromReservationBlockName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromReservationBlockName', () => { + const result = client.matchZoneFromReservationBlockName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationFromReservationBlockName', () => { + const result = + client.matchReservationFromReservationBlockName(fakePath); + assert.strictEqual(result, 'reservationValue'); + assert( + (client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationBlockFromReservationBlockName', () => { + const result = + client.matchReservationBlockFromReservationBlockName(fakePath); + assert.strictEqual(result, 'reservationBlockValue'); + assert( + (client.pathTemplates.reservationBlockPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchRegionFromSubnetworkName', () => { - const result = client.matchRegionFromSubnetworkName(fakePath); - assert.strictEqual(result, "regionValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('reservationSubBlock', async () => { + const fakePath = '/rendered/path/reservationSubBlock'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + reservation: 'reservationValue', + reservation_block: 'reservationBlockValue', + reservation_sub_block: 'reservationSubBlockValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.reservationSubBlockPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.reservationSubBlockPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('reservationSubBlockPath', () => { + const result = client.reservationSubBlockPath( + 'projectValue', + 'zoneValue', + 'reservationValue', + 'reservationBlockValue', + 'reservationSubBlockValue', + ); + assert.strictEqual(result, fakePath); + assert( + ( + client.pathTemplates.reservationSubBlockPathTemplate + .render as SinonStub + ) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromReservationSubBlockName', () => { + const result = client.matchProjectFromReservationSubBlockName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + ( + client.pathTemplates.reservationSubBlockPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromReservationSubBlockName', () => { + const result = client.matchZoneFromReservationSubBlockName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + ( + client.pathTemplates.reservationSubBlockPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationFromReservationSubBlockName', () => { + const result = + client.matchReservationFromReservationSubBlockName(fakePath); + assert.strictEqual(result, 'reservationValue'); + assert( + ( + client.pathTemplates.reservationSubBlockPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationBlockFromReservationSubBlockName', () => { + const result = + client.matchReservationBlockFromReservationSubBlockName(fakePath); + assert.strictEqual(result, 'reservationBlockValue'); + assert( + ( + client.pathTemplates.reservationSubBlockPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationSubBlockFromReservationSubBlockName', () => { + const result = + client.matchReservationSubBlockFromReservationSubBlockName(fakePath); + assert.strictEqual(result, 'reservationSubBlockValue'); + assert( + ( + client.pathTemplates.reservationSubBlockPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchSubnetworkFromSubnetworkName', () => { - const result = client.matchSubnetworkFromSubnetworkName(fakePath); - assert.strictEqual(result, "subnetworkValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('subnetwork', async () => { + const fakePath = '/rendered/path/subnetwork'; + const expectedParameters = { + project: 'projectValue', + region: 'regionValue', + subnetwork: 'subnetworkValue', + }; + const client = + new hypercomputeclusterModule.v1alpha.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.subnetworkPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.subnetworkPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('subnetworkPath', () => { + const result = client.subnetworkPath( + 'projectValue', + 'regionValue', + 'subnetworkValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.subnetworkPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromSubnetworkName', () => { + const result = client.matchProjectFromSubnetworkName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchRegionFromSubnetworkName', () => { + const result = client.matchRegionFromSubnetworkName(fakePath); + assert.strictEqual(result, 'regionValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchSubnetworkFromSubnetworkName', () => { + const result = client.matchSubnetworkFromSubnetworkName(fakePath); + assert.strictEqual(result, 'subnetworkValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1beta.ts b/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1beta.ts index 5bc4f60b7bc0..534850f85dd0 100644 --- a/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1beta.ts +++ b/packages/google-cloud-hypercomputecluster/test/gapic_hypercompute_cluster_v1beta.ts @@ -19,1922 +19,2551 @@ 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 { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as hypercomputeclusterModule from '../src'; -import {PassThrough} from 'stream'; +import { PassThrough } from 'stream'; -import {protobuf, LROperation, operationsProtos, LocationProtos} from 'google-gax'; +import { + protobuf, + LROperation, + operationsProtos, + LocationProtos, +} 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(); +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; + 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) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as 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]); + 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 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 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 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]); - } +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(); }); + } + 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({}); + }); } - return sinon.stub().returns(mockStream); + 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); +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('v1beta.HypercomputeClusterClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = hypercomputeclusterModule.v1beta.HypercomputeClusterClient.servicePath; - assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = hypercomputeclusterModule.v1beta.HypercomputeClusterClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + }); - it('has port', () => { - const port = hypercomputeclusterModule.v1beta.HypercomputeClusterClient.port; - assert(port); - assert(typeof port === 'number'); - }); + it('has universeDomain', () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - it('should create a client with no option', () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); - assert(client); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + hypercomputeclusterModule.v1beta.HypercomputeClusterClient + .servicePath; + assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + hypercomputeclusterModule.v1beta.HypercomputeClusterClient + .apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + universeDomain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('should create a client with gRPC fallback', () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - fallback: true, - }); - assert(client); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + universe_domain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.hypercomputeClusterStub, undefined); - await client.initialize(); - assert(client.hypercomputeClusterStub); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'hypercomputecluster.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('has close method for the initialized client', done => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.hypercomputeClusterStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('has port', () => { + const port = + hypercomputeclusterModule.v1beta.HypercomputeClusterClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has close method for the non-initialized client', done => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.hypercomputeClusterStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); - }); + it('should create a client with no option', () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient(); + assert(client); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - 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('should create a client with gRPC fallback', () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + fallback: true, }); + assert(client); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - 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); + it('has initialize method and supports deferred initialization', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', }); + assert.strictEqual(client.hypercomputeClusterStub, undefined); + await client.initialize(); + assert(client.hypercomputeClusterStub); }); - describe('getCluster', () => { - it('invokes getCluster without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.Cluster() - ); - client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); - const [response] = await client.getCluster(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.Cluster() - ); - client.innerApiCalls.getCluster = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getCluster( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1beta.ICluster|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCluster with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getCluster = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCluster with closed client', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getCluster(request), expectedError); - }); - }); - - describe('createCluster', () => { - it('invokes createCluster without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.createCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.createCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.createCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkCreateClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkCreateClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkCreateClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkCreateClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); + it('has close method for the initialized client', (done) => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.hypercomputeClusterStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('updateCluster', () => { - it('invokes updateCluster without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.updateCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.updateCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest() - ); - request.cluster ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', ['cluster', 'name']); - request.cluster.name = defaultValue1; - const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.updateCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkUpdateClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkUpdateClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkUpdateClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); - - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkUpdateClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); + it('has close method for the non-initialized client', (done) => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.hypercomputeClusterStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('deleteCluster', () => { - it('invokes deleteCluster without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteCluster = stubLongRunningCall(expectedResponse); - const [operation] = await client.deleteCluster(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCluster without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteCluster = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteCluster( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCluster with call error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCluster = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.deleteCluster(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCluster with LRO error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCluster = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.deleteCluster(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCluster as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkDeleteClusterProgress without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkDeleteClusterProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkDeleteClusterProgress with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + 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.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkDeleteClusterProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + 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('getCluster', () => { + it('invokes getCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ); + client.innerApiCalls.getCluster = stubSimpleCall(expectedResponse); + const [response] = await client.getCluster(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listClusters', () => { - it('invokes listClusters without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - ]; - client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); - const [response] = await client.listClusters(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listClusters without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - ]; - client.innerApiCalls.listClusters = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listClusters( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1beta.ICluster[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listClusters with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listClusters = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listClusters(request), expectedError); - const actualRequest = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listClusters as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listClustersStream without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - ]; - client.descriptors.page.listClusters.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listClustersStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1beta.Cluster[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1beta.Cluster) => { - 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.listClusters.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listClusters, request)); - assert( - (client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listClustersStream with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listClusters.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listClustersStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1beta.Cluster[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1beta.Cluster) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listClusters, request)); - assert( - (client.descriptors.page.listClusters.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listClusters without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1beta.Cluster()), - ]; - client.descriptors.page.listClusters.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1beta.ICluster[] = []; - const iterable = client.listClustersAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listClusters with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listClusters.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listClustersAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1beta.ICluster[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listClusters.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes getCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ); + client.innerApiCalls.getCluster = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getCluster( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1beta.ICluster | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - describe('getOperation', () => { - it('invokes getOperation without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const response = await client.getOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes getOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.getOperation( - request, - undefined, - ( - err?: Error | null, - result?: operationsProtos.google.longrunning.Operation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); - it('invokes getOperation with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.getOperation(request)}, expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('cancelOperation', () => { - it('invokes cancelOperation without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = stubSimpleCall(expectedResponse); - const response = await client.cancelOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes cancelOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.cancelOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0)); - }); - it('invokes cancelOperation with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.cancelOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.cancelOperation(request)}, expectedError); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('deleteOperation', () => { - it('invokes deleteOperation without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = stubSimpleCall(expectedResponse); - const response = await client.deleteOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes deleteOperation without error using callback', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.deleteOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0)); - }); - it('invokes deleteOperation with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.deleteOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.deleteOperation(request)}, expectedError); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('listOperationsAsync', () => { - it('uses async iteration with listOperations without error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedResponse = [ - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - ]; - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: operationsProtos.google.longrunning.IOperation[] = []; - const iterable = client.operationsClient.listOperationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); - it('uses async iteration with listOperations with error', async () => { - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.operationsClient.listOperationsAsync(request); - await assert.rejects(async () => { - const responses: operationsProtos.google.longrunning.IOperation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('Path templates', () => { - - describe('bucket', async () => { - const fakePath = "/rendered/path/bucket"; - const expectedParameters = { - project: "projectValue", - bucket: "bucketValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.bucketPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.bucketPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('bucketPath', () => { - const result = client.bucketPath("projectValue", "bucketValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.bucketPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromBucketName', () => { - const result = client.matchProjectFromBucketName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.bucketPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchBucketFromBucketName', () => { - const result = client.matchBucketFromBucketName(fakePath); - assert.strictEqual(result, "bucketValue"); - assert((client.pathTemplates.bucketPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cluster', async () => { - const fakePath = "/rendered/path/cluster"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - cluster: "clusterValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.clusterPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.clusterPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('clusterPath', () => { - const result = client.clusterPath("projectValue", "locationValue", "clusterValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.clusterPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes getCluster with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getCluster = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromClusterName', () => { - const result = client.matchProjectFromClusterName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes getCluster with closed client', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.GetClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.GetClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getCluster(request), expectedError); + }); + }); + + describe('createCluster', () => { + it('invokes createCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromClusterName', () => { - const result = client.matchLocationFromClusterName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchClusterFromClusterName', () => { - const result = client.matchClusterFromClusterName(fakePath); - assert.strictEqual(result, "clusterValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes createCluster with call error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.createCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('computeInstance', async () => { - const fakePath = "/rendered/path/computeInstance"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - instance: "instanceValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.computeInstancePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.computeInstancePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('computeInstancePath', () => { - const result = client.computeInstancePath("projectValue", "zoneValue", "instanceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.computeInstancePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes createCluster with LRO error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.CreateClusterRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.createCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromComputeInstanceName', () => { - const result = client.matchProjectFromComputeInstanceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkCreateClusterProgress without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkCreateClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchZoneFromComputeInstanceName', () => { - const result = client.matchZoneFromComputeInstanceName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkCreateClusterProgress with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkCreateClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateCluster', () => { + it('invokes updateCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchInstanceFromComputeInstanceName', () => { - const result = client.matchInstanceFromComputeInstanceName(fakePath); - assert.strictEqual(result, "instanceValue"); - assert((client.pathTemplates.computeInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes updateCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1beta.ICluster, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('diskType', async () => { - const fakePath = "/rendered/path/diskType"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - disk_type: "diskTypeValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.diskTypePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.diskTypePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('diskTypePath', () => { - const result = client.diskTypePath("projectValue", "zoneValue", "diskTypeValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.diskTypePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes updateCluster with call error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromDiskTypeName', () => { - const result = client.matchProjectFromDiskTypeName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateCluster with LRO error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest(), + ); + request.cluster ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.UpdateClusterRequest', + ['cluster', 'name'], + ); + request.cluster.name = defaultValue1; + const expectedHeaderRequestParams = `cluster.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.updateCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchZoneFromDiskTypeName', () => { - const result = client.matchZoneFromDiskTypeName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkUpdateClusterProgress without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkUpdateClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchDiskTypeFromDiskTypeName', () => { - const result = client.matchDiskTypeFromDiskTypeName(fakePath); - assert.strictEqual(result, "diskTypeValue"); - assert((client.pathTemplates.diskTypePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes checkUpdateClusterProgress with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkUpdateClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteCluster', () => { + it('invokes deleteCluster without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteCluster = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteCluster(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('location', async () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('invokes deleteCluster without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteCluster = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteCluster( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1beta.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteCluster with call error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCluster = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteCluster(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes deleteCluster with LRO error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.DeleteClusterRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCluster = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.deleteCluster(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteCluster as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('lustreInstance', async () => { - const fakePath = "/rendered/path/lustreInstance"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - instance: "instanceValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.lustreInstancePathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.lustreInstancePathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('lustreInstancePath', () => { - const result = client.lustreInstancePath("projectValue", "locationValue", "instanceValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.lustreInstancePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes checkDeleteClusterProgress without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkDeleteClusterProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchProjectFromLustreInstanceName', () => { - const result = client.matchProjectFromLustreInstanceName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.lustreInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkDeleteClusterProgress with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkDeleteClusterProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listClusters', () => { + it('invokes listClusters without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + ]; + client.innerApiCalls.listClusters = stubSimpleCall(expectedResponse); + const [response] = await client.listClusters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromLustreInstanceName', () => { - const result = client.matchLocationFromLustreInstanceName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.lustreInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listClusters without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + ]; + client.innerApiCalls.listClusters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listClusters( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1beta.ICluster[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchInstanceFromLustreInstanceName', () => { - const result = client.matchInstanceFromLustreInstanceName(fakePath); - assert.strictEqual(result, "instanceValue"); - assert((client.pathTemplates.lustreInstancePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes listClusters with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listClusters = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listClusters(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listClusters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('network', async () => { - const fakePath = "/rendered/path/network"; - const expectedParameters = { - project: "projectValue", - network: "networkValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.networkPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.networkPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('networkPath', () => { - const result = client.networkPath("projectValue", "networkValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.networkPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes listClustersStream without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + ]; + client.descriptors.page.listClusters.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listClustersStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1beta.Cluster[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1beta.Cluster, + ) => { + 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.listClusters.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listClusters, request), + ); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchProjectFromNetworkName', () => { - const result = client.matchProjectFromNetworkName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.networkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listClustersStream with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listClusters.createStream = stubPageStreamingCall( + undefined, + expectedError, + ); + const stream = client.listClustersStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1beta.Cluster[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1beta.Cluster, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listClusters, request), + ); + assert( + (client.descriptors.page.listClusters.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchNetworkFromNetworkName', () => { - const result = client.matchNetworkFromNetworkName(fakePath); - assert.strictEqual(result, "networkValue"); - assert((client.pathTemplates.networkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('uses async iteration with listClusters without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.Cluster(), + ), + ]; + client.descriptors.page.listClusters.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1beta.ICluster[] = + []; + const iterable = client.listClustersAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listClusters.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listClusters.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - describe('project', async () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('uses async iteration with listClusters with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1beta.ListClustersRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1beta.ListClustersRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listClusters.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listClustersAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1beta.ICluster[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listClusters.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listClusters.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + it('invokes getLocation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + describe('getOperation', () => { + it('invokes getOperation without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const response = await client.getOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes getOperation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .getOperation( + request, + undefined, + ( + err?: Error | null, + result?: operationsProtos.google.longrunning.Operation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + it('invokes getOperation with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.getOperation(request); + }, expectedError); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('cancelOperation', () => { + it('invokes cancelOperation without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = + stubSimpleCall(expectedResponse); + const response = await client.cancelOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes cancelOperation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .cancelOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.cancelOperation as SinonStub).getCall(0)); + }); + it('invokes cancelOperation with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.cancelOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.cancelOperation(request); + }, expectedError); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('deleteOperation', () => { + it('invokes deleteOperation without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = + stubSimpleCall(expectedResponse); + const response = await client.deleteOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes deleteOperation without error using callback', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .deleteOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.deleteOperation as SinonStub).getCall(0)); + }); + it('invokes deleteOperation with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.deleteOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.deleteOperation(request); + }, expectedError); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('listOperationsAsync', () => { + it('uses async iteration with listOperations without error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedResponse = [ + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + ]; + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: operationsProtos.google.longrunning.IOperation[] = []; + const iterable = client.operationsClient.listOperationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + it('uses async iteration with listOperations with error', async () => { + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.operationsClient.listOperationsAsync(request); + await assert.rejects(async () => { + const responses: operationsProtos.google.longrunning.IOperation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + }); + + describe('Path templates', () => { + describe('bucket', async () => { + const fakePath = '/rendered/path/bucket'; + const expectedParameters = { + project: 'projectValue', + bucket: 'bucketValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.bucketPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.bucketPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('bucketPath', () => { + const result = client.bucketPath('projectValue', 'bucketValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.bucketPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromBucketName', () => { + const result = client.matchProjectFromBucketName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.bucketPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchBucketFromBucketName', () => { + const result = client.matchBucketFromBucketName(fakePath); + assert.strictEqual(result, 'bucketValue'); + assert( + (client.pathTemplates.bucketPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromProjectName', () => { - const result = client.matchProjectFromProjectName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.projectPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('cluster', async () => { + const fakePath = '/rendered/path/cluster'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + cluster: 'clusterValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.clusterPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.clusterPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('clusterPath', () => { + const result = client.clusterPath( + 'projectValue', + 'locationValue', + 'clusterValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.clusterPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromClusterName', () => { + const result = client.matchProjectFromClusterName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromClusterName', () => { + const result = client.matchLocationFromClusterName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchClusterFromClusterName', () => { + const result = client.matchClusterFromClusterName(fakePath); + assert.strictEqual(result, 'clusterValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('reservation', async () => { - const fakePath = "/rendered/path/reservation"; - const expectedParameters = { - project: "projectValue", - zone: "zoneValue", - reservation: "reservationValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.reservationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.reservationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('reservationPath', () => { - const result = client.reservationPath("projectValue", "zoneValue", "reservationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.reservationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('computeInstance', async () => { + const fakePath = '/rendered/path/computeInstance'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + instance: 'instanceValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.computeInstancePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.computeInstancePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('computeInstancePath', () => { + const result = client.computeInstancePath( + 'projectValue', + 'zoneValue', + 'instanceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.computeInstancePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromComputeInstanceName', () => { + const result = client.matchProjectFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromComputeInstanceName', () => { + const result = client.matchZoneFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchInstanceFromComputeInstanceName', () => { + const result = client.matchInstanceFromComputeInstanceName(fakePath); + assert.strictEqual(result, 'instanceValue'); + assert( + (client.pathTemplates.computeInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromReservationName', () => { - const result = client.matchProjectFromReservationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('diskType', async () => { + const fakePath = '/rendered/path/diskType'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + disk_type: 'diskTypeValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.diskTypePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.diskTypePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('diskTypePath', () => { + const result = client.diskTypePath( + 'projectValue', + 'zoneValue', + 'diskTypeValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.diskTypePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromDiskTypeName', () => { + const result = client.matchProjectFromDiskTypeName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromDiskTypeName', () => { + const result = client.matchZoneFromDiskTypeName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchDiskTypeFromDiskTypeName', () => { + const result = client.matchDiskTypeFromDiskTypeName(fakePath); + assert.strictEqual(result, 'diskTypeValue'); + assert( + (client.pathTemplates.diskTypePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchZoneFromReservationName', () => { - const result = client.matchZoneFromReservationName(fakePath); - assert.strictEqual(result, "zoneValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('location', async () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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), + ); + }); + }); - it('matchReservationFromReservationName', () => { - const result = client.matchReservationFromReservationName(fakePath); - assert.strictEqual(result, "reservationValue"); - assert((client.pathTemplates.reservationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('lustreInstance', async () => { + const fakePath = '/rendered/path/lustreInstance'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + instance: 'instanceValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.lustreInstancePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.lustreInstancePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('lustreInstancePath', () => { + const result = client.lustreInstancePath( + 'projectValue', + 'locationValue', + 'instanceValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.lustreInstancePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromLustreInstanceName', () => { + const result = client.matchProjectFromLustreInstanceName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.lustreInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromLustreInstanceName', () => { + const result = client.matchLocationFromLustreInstanceName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.lustreInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchInstanceFromLustreInstanceName', () => { + const result = client.matchInstanceFromLustreInstanceName(fakePath); + assert.strictEqual(result, 'instanceValue'); + assert( + (client.pathTemplates.lustreInstancePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - describe('subnetwork', async () => { - const fakePath = "/rendered/path/subnetwork"; - const expectedParameters = { - project: "projectValue", - region: "regionValue", - subnetwork: "subnetworkValue", - }; - const client = new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.subnetworkPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.subnetworkPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('subnetworkPath', () => { - const result = client.subnetworkPath("projectValue", "regionValue", "subnetworkValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.subnetworkPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + describe('network', async () => { + const fakePath = '/rendered/path/network'; + const expectedParameters = { + project: 'projectValue', + network: 'networkValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.networkPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.networkPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('networkPath', () => { + const result = client.networkPath('projectValue', 'networkValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.networkPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromNetworkName', () => { + const result = client.matchProjectFromNetworkName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.networkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchNetworkFromNetworkName', () => { + const result = client.matchNetworkFromNetworkName(fakePath); + assert.strictEqual(result, 'networkValue'); + assert( + (client.pathTemplates.networkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchProjectFromSubnetworkName', () => { - const result = client.matchProjectFromSubnetworkName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('project', async () => { + const fakePath = '/rendered/path/project'; + const expectedParameters = { + project: 'projectValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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), + ); + }); + }); - it('matchRegionFromSubnetworkName', () => { - const result = client.matchRegionFromSubnetworkName(fakePath); - assert.strictEqual(result, "regionValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + describe('reservation', async () => { + const fakePath = '/rendered/path/reservation'; + const expectedParameters = { + project: 'projectValue', + zone: 'zoneValue', + reservation: 'reservationValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.reservationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.reservationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('reservationPath', () => { + const result = client.reservationPath( + 'projectValue', + 'zoneValue', + 'reservationValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.reservationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromReservationName', () => { + const result = client.matchProjectFromReservationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchZoneFromReservationName', () => { + const result = client.matchZoneFromReservationName(fakePath); + assert.strictEqual(result, 'zoneValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchReservationFromReservationName', () => { + const result = client.matchReservationFromReservationName(fakePath); + assert.strictEqual(result, 'reservationValue'); + assert( + (client.pathTemplates.reservationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); - it('matchSubnetworkFromSubnetworkName', () => { - const result = client.matchSubnetworkFromSubnetworkName(fakePath); - assert.strictEqual(result, "subnetworkValue"); - assert((client.pathTemplates.subnetworkPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + describe('subnetwork', async () => { + const fakePath = '/rendered/path/subnetwork'; + const expectedParameters = { + project: 'projectValue', + region: 'regionValue', + subnetwork: 'subnetworkValue', + }; + const client = + new hypercomputeclusterModule.v1beta.HypercomputeClusterClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.subnetworkPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.subnetworkPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('subnetworkPath', () => { + const result = client.subnetworkPath( + 'projectValue', + 'regionValue', + 'subnetworkValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.subnetworkPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromSubnetworkName', () => { + const result = client.matchProjectFromSubnetworkName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchRegionFromSubnetworkName', () => { + const result = client.matchRegionFromSubnetworkName(fakePath); + assert.strictEqual(result, 'regionValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchSubnetworkFromSubnetworkName', () => { + const result = client.matchSubnetworkFromSubnetworkName(fakePath); + assert.strictEqual(result, 'subnetworkValue'); + assert( + (client.pathTemplates.subnetworkPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); }); + }); }); diff --git a/packages/google-cloud-hypercomputecluster/test/gapic_machine_learning_runs_v1alpha.ts b/packages/google-cloud-hypercomputecluster/test/gapic_machine_learning_runs_v1alpha.ts index de445943182e..d026b39cf724 100644 --- a/packages/google-cloud-hypercomputecluster/test/gapic_machine_learning_runs_v1alpha.ts +++ b/packages/google-cloud-hypercomputecluster/test/gapic_machine_learning_runs_v1alpha.ts @@ -19,4356 +19,5864 @@ 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 { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; import * as machinelearningrunsModule from '../src'; -import {PassThrough} from 'stream'; +import { PassThrough } from 'stream'; -import {protobuf, LROperation, operationsProtos, LocationProtos} from 'google-gax'; +import { + protobuf, + LROperation, + operationsProtos, + LocationProtos, +} 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(); +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; + 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) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as 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]); + 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 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 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 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]); - } +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(); }); + } + 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({}); + }); } - return sinon.stub().returns(mockStream); + 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); +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('v1alpha.MachineLearningRunsClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = machinelearningrunsModule.v1alpha.MachineLearningRunsClient.servicePath; - assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + }); - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = machinelearningrunsModule.v1alpha.MachineLearningRunsClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'hypercomputecluster.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); + it('has universeDomain', () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); - it('has port', () => { - const port = machinelearningrunsModule.v1alpha.MachineLearningRunsClient.port; - assert(port); - assert(typeof port === 'number'); + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + machinelearningrunsModule.v1alpha.MachineLearningRunsClient + .servicePath; + assert.strictEqual(servicePath, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + machinelearningrunsModule.v1alpha.MachineLearningRunsClient + .apiEndpoint; + assert.strictEqual(apiEndpoint, 'hypercomputecluster.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + universeDomain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('should create a client with no option', () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); - assert(client); + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + universe_domain: 'example.com', }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + }); - it('should create a client with gRPC fallback', () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - fallback: true, - }); - assert(client); + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'hypercomputecluster.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual( + servicePath, + 'hypercomputecluster.configured.example.com', + ); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', }); + }); + }); - it('has initialize method and supports deferred initialization', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.machineLearningRunsStub, undefined); - await client.initialize(); - assert(client.machineLearningRunsStub); - }); + it('has port', () => { + const port = + machinelearningrunsModule.v1alpha.MachineLearningRunsClient.port; + assert(port); + assert(typeof port === 'number'); + }); - it('has close method for the initialized client', done => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize().catch(err => {throw err}); - assert(client.machineLearningRunsStub); - client.close().then(() => { - done(); - }).catch(err => {throw err}); + it('should create a client with no option', () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + fallback: true, }); + assert(client); + }); - it('has close method for the non-initialized client', done => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.machineLearningRunsStub, undefined); - client.close().then(() => { - done(); - }).catch(err => {throw err}); + it('has initialize method and supports deferred initialization', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', }); + assert.strictEqual(client.machineLearningRunsStub, undefined); + await client.initialize(); + assert(client.machineLearningRunsStub); + }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - 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 close method for the initialized client', (done) => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.machineLearningRunsStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); + }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - 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); + it('has close method for the non-initialized client', (done) => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.machineLearningRunsStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; }); }); - describe('getMachineLearningRun', () => { - it('invokes getMachineLearningRun without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun() - ); - client.innerApiCalls.getMachineLearningRun = stubSimpleCall(expectedResponse); - const [response] = await client.getMachineLearningRun(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getMachineLearningRun without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun() - ); - client.innerApiCalls.getMachineLearningRun = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getMachineLearningRun( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getMachineLearningRun with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getMachineLearningRun = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getMachineLearningRun(request), expectedError); - const actualRequest = (client.innerApiCalls.getMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getMachineLearningRun with closed client', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getMachineLearningRun(request), expectedError); - }); - }); - - describe('getProfilerTarget', () => { - it('invokes getProfilerTarget without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget() - ); - client.innerApiCalls.getProfilerTarget = stubSimpleCall(expectedResponse); - const [response] = await client.getProfilerTarget(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfilerTarget without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget() - ); - client.innerApiCalls.getProfilerTarget = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getProfilerTarget( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfilerTarget with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getProfilerTarget = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getProfilerTarget(request), expectedError); - const actualRequest = (client.innerApiCalls.getProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfilerTarget with closed client', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getProfilerTarget(request), expectedError); - }); - }); - - describe('deleteProfilerTarget', () => { - it('invokes deleteProfilerTarget without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteProfilerTarget = stubSimpleCall(expectedResponse); - const [response] = await client.deleteProfilerTarget(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProfilerTarget without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteProfilerTarget = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteProfilerTarget( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProfilerTarget with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteProfilerTarget = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteProfilerTarget(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProfilerTarget with closed client', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteProfilerTarget(request), expectedError); - }); - }); - - describe('getProfilerSession', () => { - it('invokes getProfilerSession without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession() - ); - client.innerApiCalls.getProfilerSession = stubSimpleCall(expectedResponse); - const [response] = await client.getProfilerSession(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfilerSession without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession() - ); - client.innerApiCalls.getProfilerSession = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getProfilerSession( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfilerSession with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getProfilerSession = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getProfilerSession(request), expectedError); - const actualRequest = (client.innerApiCalls.getProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfilerSession with closed client', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getProfilerSession(request), expectedError); - }); - }); - - describe('deleteProfilerSession', () => { - it('invokes deleteProfilerSession without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteProfilerSession = stubSimpleCall(expectedResponse); - const [response] = await client.deleteProfilerSession(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProfilerSession without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteProfilerSession = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteProfilerSession( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProfilerSession with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteProfilerSession = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteProfilerSession(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProfilerSession with closed client', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.deleteProfilerSession(request), expectedError); - }); - }); - - describe('getProfileSession', () => { - it('invokes getProfileSession without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession() - ); - client.innerApiCalls.getProfileSession = stubSimpleCall(expectedResponse); - const [response] = await client.getProfileSession(request); - assert(stub.calledOnce); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProfileSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfileSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfileSession without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession() - ); - client.innerApiCalls.getProfileSession = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getProfileSession( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert(stub.calledOnce); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProfileSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfileSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfileSession with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getProfileSession = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getProfileSession(request), expectedError); - assert(stub.calledOnce); - const actualRequest = (client.innerApiCalls.getProfileSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProfileSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProfileSession with closed client', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getProfileSession(request), expectedError); - assert(stub.calledOnce); - }); - }); - - describe('getMonitoredEvent', () => { - it('invokes getMonitoredEvent without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent() - ); - client.innerApiCalls.getMonitoredEvent = stubSimpleCall(expectedResponse); - const [response] = await client.getMonitoredEvent(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getMonitoredEvent without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent() - ); - client.innerApiCalls.getMonitoredEvent = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getMonitoredEvent( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getMonitoredEvent with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.getMonitoredEvent = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getMonitoredEvent(request), expectedError); - const actualRequest = (client.innerApiCalls.getMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getMonitoredEvent with closed client', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close().catch(err => {throw err}); - await assert.rejects(client.getMonitoredEvent(request), expectedError); - }); - }); - - describe('createMachineLearningRun', () => { - it('invokes createMachineLearningRun without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createMachineLearningRun = stubLongRunningCall(expectedResponse); - const [operation] = await client.createMachineLearningRun(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createMachineLearningRun without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createMachineLearningRun = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createMachineLearningRun( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createMachineLearningRun with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createMachineLearningRun = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.createMachineLearningRun(request), expectedError); - const actualRequest = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createMachineLearningRun with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createMachineLearningRun = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.createMachineLearningRun(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkCreateMachineLearningRunProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkCreateMachineLearningRunProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkCreateMachineLearningRunProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + 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.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkCreateMachineLearningRunProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + 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('getMachineLearningRun', () => { + it('invokes getMachineLearningRun without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ); + client.innerApiCalls.getMachineLearningRun = + stubSimpleCall(expectedResponse); + const [response] = await client.getMachineLearningRun(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('updateMachineLearningRun', () => { - it('invokes updateMachineLearningRun without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest() - ); - request.machineLearningRun ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', ['machineLearningRun', 'name']); - request.machineLearningRun.name = defaultValue1; - const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateMachineLearningRun = stubLongRunningCall(expectedResponse); - const [operation] = await client.updateMachineLearningRun(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateMachineLearningRun without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest() - ); - request.machineLearningRun ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', ['machineLearningRun', 'name']); - request.machineLearningRun.name = defaultValue1; - const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateMachineLearningRun = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateMachineLearningRun( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateMachineLearningRun with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest() - ); - request.machineLearningRun ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', ['machineLearningRun', 'name']); - request.machineLearningRun.name = defaultValue1; - const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateMachineLearningRun = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.updateMachineLearningRun(request), expectedError); - const actualRequest = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateMachineLearningRun with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest() - ); - request.machineLearningRun ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', ['machineLearningRun', 'name']); - request.machineLearningRun.name = defaultValue1; - const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateMachineLearningRun = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.updateMachineLearningRun(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkUpdateMachineLearningRunProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkUpdateMachineLearningRunProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkUpdateMachineLearningRunProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes getMachineLearningRun without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ); + client.innerApiCalls.getMachineLearningRun = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getMachineLearningRun( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkUpdateMachineLearningRunProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes getMachineLearningRun with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getMachineLearningRun = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getMachineLearningRun(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.getMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('deleteMachineLearningRun', () => { - it('invokes deleteMachineLearningRun without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteMachineLearningRun = stubLongRunningCall(expectedResponse); - const [operation] = await client.deleteMachineLearningRun(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteMachineLearningRun without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteMachineLearningRun = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteMachineLearningRun( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteMachineLearningRun with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteMachineLearningRun = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.deleteMachineLearningRun(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteMachineLearningRun with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteMachineLearningRun = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.deleteMachineLearningRun(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMachineLearningRun as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkDeleteMachineLearningRunProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkDeleteMachineLearningRunProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkDeleteMachineLearningRunProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes getMachineLearningRun with closed client', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects( + client.getMachineLearningRun(request), + expectedError, + ); + }); + }); + + describe('getProfilerTarget', () => { + it('invokes getProfilerTarget without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ); + client.innerApiCalls.getProfilerTarget = stubSimpleCall(expectedResponse); + const [response] = await client.getProfilerTarget(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkDeleteMachineLearningRunProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes getProfilerTarget without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ); + client.innerApiCalls.getProfilerTarget = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getProfilerTarget( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('createProfilerTarget', () => { - it('invokes createProfilerTarget without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createProfilerTarget = stubLongRunningCall(expectedResponse); - const [operation] = await client.createProfilerTarget(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createProfilerTarget without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createProfilerTarget = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createProfilerTarget( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createProfilerTarget with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createProfilerTarget = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.createProfilerTarget(request), expectedError); - const actualRequest = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createProfilerTarget with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createProfilerTarget = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.createProfilerTarget(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerTarget as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkCreateProfilerTargetProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkCreateProfilerTargetProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkCreateProfilerTargetProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes getProfilerTarget with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getProfilerTarget = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getProfilerTarget(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkCreateProfilerTargetProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes getProfilerTarget with closed client', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getProfilerTarget(request), expectedError); + }); + }); + + describe('deleteProfilerTarget', () => { + it('invokes deleteProfilerTarget without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteProfilerTarget = + stubSimpleCall(expectedResponse); + const [response] = await client.deleteProfilerTarget(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('createProfilerSession', () => { - it('invokes createProfilerSession without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createProfilerSession = stubLongRunningCall(expectedResponse); - const [operation] = await client.createProfilerSession(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createProfilerSession without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createProfilerSession = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createProfilerSession( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createProfilerSession with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createProfilerSession = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.createProfilerSession(request), expectedError); - const actualRequest = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createProfilerSession with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createProfilerSession = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.createProfilerSession(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createProfilerSession as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkCreateProfilerSessionProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkCreateProfilerSessionProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkCreateProfilerSessionProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes deleteProfilerTarget without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteProfilerTarget = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteProfilerTarget( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkCreateProfilerSessionProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes deleteProfilerTarget with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProfilerTarget = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteProfilerTarget(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('createMonitoredEvent', () => { - it('invokes createMonitoredEvent without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createMonitoredEvent = stubLongRunningCall(expectedResponse); - const [operation] = await client.createMonitoredEvent(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createMonitoredEvent without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.createMonitoredEvent = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createMonitoredEvent( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createMonitoredEvent with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createMonitoredEvent = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.createMonitoredEvent(request), expectedError); - const actualRequest = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createMonitoredEvent with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.createMonitoredEvent = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.createMonitoredEvent(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkCreateMonitoredEventProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkCreateMonitoredEventProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkCreateMonitoredEventProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes deleteProfilerTarget with closed client', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerTargetRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.deleteProfilerTarget(request), expectedError); + }); + }); + + describe('getProfilerSession', () => { + it('invokes getProfilerSession without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ); + client.innerApiCalls.getProfilerSession = + stubSimpleCall(expectedResponse); + const [response] = await client.getProfilerSession(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkCreateMonitoredEventProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes getProfilerSession without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ); + client.innerApiCalls.getProfilerSession = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getProfilerSession( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('updateMonitoredEvent', () => { - it('invokes updateMonitoredEvent without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest() - ); - request.monitoredEvent ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', ['monitoredEvent', 'name']); - request.monitoredEvent.name = defaultValue1; - const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateMonitoredEvent = stubLongRunningCall(expectedResponse); - const [operation] = await client.updateMonitoredEvent(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateMonitoredEvent without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest() - ); - request.monitoredEvent ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', ['monitoredEvent', 'name']); - request.monitoredEvent.name = defaultValue1; - const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.updateMonitoredEvent = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateMonitoredEvent( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateMonitoredEvent with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest() - ); - request.monitoredEvent ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', ['monitoredEvent', 'name']); - request.monitoredEvent.name = defaultValue1; - const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateMonitoredEvent = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.updateMonitoredEvent(request), expectedError); - const actualRequest = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateMonitoredEvent with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest() - ); - request.monitoredEvent ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', ['monitoredEvent', 'name']); - request.monitoredEvent.name = defaultValue1; - const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateMonitoredEvent = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.updateMonitoredEvent(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkUpdateMonitoredEventProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkUpdateMonitoredEventProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkUpdateMonitoredEventProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes getProfilerSession with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getProfilerSession = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getProfilerSession(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkUpdateMonitoredEventProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes getProfilerSession with closed client', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getProfilerSession(request), expectedError); + }); + }); + + describe('deleteProfilerSession', () => { + it('invokes deleteProfilerSession without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteProfilerSession = + stubSimpleCall(expectedResponse); + const [response] = await client.deleteProfilerSession(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('deleteMonitoredEvent', () => { - it('invokes deleteMonitoredEvent without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteMonitoredEvent = stubLongRunningCall(expectedResponse); - const [operation] = await client.deleteMonitoredEvent(request); - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteMonitoredEvent without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedResponse = generateSampleMessage( - new protos.google.longrunning.Operation() - ); - client.innerApiCalls.deleteMonitoredEvent = stubLongRunningCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteMonitoredEvent( - request, - (err?: Error|null, - result?: LROperation|null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const operation = await promise as LROperation; - const [response] = await operation.promise(); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteMonitoredEvent with call error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteMonitoredEvent = stubLongRunningCall(undefined, expectedError); - await assert.rejects(client.deleteMonitoredEvent(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteMonitoredEvent with LRO error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteMonitoredEvent = stubLongRunningCall(undefined, undefined, expectedError); - const [operation] = await client.deleteMonitoredEvent(request); - await assert.rejects(operation.promise(), expectedError); - const actualRequest = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteMonitoredEvent as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes checkDeleteMonitoredEventProgress without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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.checkDeleteMonitoredEventProgress(expectedResponse.name); - assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); - assert(decodedOperation.metadata); - assert((client.operationsClient.getOperation as SinonStub).getCall(0)); - }); - - it('invokes checkDeleteMonitoredEventProgress with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const expectedError = new Error('expected'); + it('invokes deleteProfilerSession without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.innerApiCalls.deleteProfilerSession = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteProfilerSession( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.checkDeleteMonitoredEventProgress(''), expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); + it('invokes deleteProfilerSession with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProfilerSession = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.deleteProfilerSession(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.deleteProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('listMachineLearningRuns', () => { - it('invokes listMachineLearningRuns without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - ]; - client.innerApiCalls.listMachineLearningRuns = stubSimpleCall(expectedResponse); - const [response] = await client.listMachineLearningRuns(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listMachineLearningRuns as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listMachineLearningRuns as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listMachineLearningRuns without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - ]; - client.innerApiCalls.listMachineLearningRuns = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listMachineLearningRuns( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listMachineLearningRuns as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listMachineLearningRuns as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listMachineLearningRuns with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listMachineLearningRuns = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listMachineLearningRuns(request), expectedError); - const actualRequest = (client.innerApiCalls.listMachineLearningRuns as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listMachineLearningRuns as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listMachineLearningRunsStream without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - ]; - client.descriptors.page.listMachineLearningRuns.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listMachineLearningRunsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun) => { - 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.listMachineLearningRuns.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listMachineLearningRuns, request)); - assert( - (client.descriptors.page.listMachineLearningRuns.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listMachineLearningRunsStream with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listMachineLearningRuns.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listMachineLearningRunsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listMachineLearningRuns.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listMachineLearningRuns, request)); - assert( - (client.descriptors.page.listMachineLearningRuns.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listMachineLearningRuns without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun()), - ]; - client.descriptors.page.listMachineLearningRuns.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[] = []; - const iterable = client.listMachineLearningRunsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + it('invokes deleteProfilerSession with closed client', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteProfilerSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects( + client.deleteProfilerSession(request), + expectedError, + ); + }); + }); + + describe('getProfileSession', () => { + it('invokes getProfileSession without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ); + client.innerApiCalls.getProfileSession = stubSimpleCall(expectedResponse); + const [response] = await client.getProfileSession(request); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getProfileSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfileSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getProfileSession without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ); + client.innerApiCalls.getProfileSession = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getProfileSession( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listMachineLearningRuns.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listMachineLearningRuns.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listMachineLearningRuns with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listMachineLearningRuns.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listMachineLearningRunsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listMachineLearningRuns.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listMachineLearningRuns.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('listProfilerTargets', () => { - it('invokes listProfilerTargets without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - ]; - client.innerApiCalls.listProfilerTargets = stubSimpleCall(expectedResponse); - const [response] = await client.listProfilerTargets(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProfilerTargets as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfilerTargets as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfilerTargets without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - ]; - client.innerApiCalls.listProfilerTargets = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listProfilerTargets( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProfilerTargets as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfilerTargets as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfilerTargets with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listProfilerTargets = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listProfilerTargets(request), expectedError); - const actualRequest = (client.innerApiCalls.listProfilerTargets as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfilerTargets as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfilerTargetsStream without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - ]; - client.descriptors.page.listProfilerTargets.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listProfilerTargetsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget) => { - 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.listProfilerTargets.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProfilerTargets, request)); - assert( - (client.descriptors.page.listProfilerTargets.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listProfilerTargetsStream with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listProfilerTargets.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listProfilerTargetsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listProfilerTargets.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProfilerTargets, request)); - assert( - (client.descriptors.page.listProfilerTargets.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProfilerTargets without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget()), - ]; - client.descriptors.page.listProfilerTargets.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[] = []; - const iterable = client.listProfilerTargetsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const response = await promise; + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getProfileSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfileSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getProfileSession with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getProfileSession = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getProfileSession(request), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.getProfileSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProfileSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getProfileSession with closed client', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetProfileSessionRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getProfileSession(request), expectedError); + assert(stub.calledOnce); + }); + }); + + describe('getMonitoredEvent', () => { + it('invokes getMonitoredEvent without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ); + client.innerApiCalls.getMonitoredEvent = stubSimpleCall(expectedResponse); + const [response] = await client.getMonitoredEvent(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getMonitoredEvent without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ); + client.innerApiCalls.getMonitoredEvent = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getMonitoredEvent( + request, + ( + err?: Error | null, + result?: protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProfilerTargets with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listProfilerTargets.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listProfilerTargetsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('listProfilerSessions', () => { - it('invokes listProfilerSessions without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - ]; - client.innerApiCalls.listProfilerSessions = stubSimpleCall(expectedResponse); - const [response] = await client.listProfilerSessions(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProfilerSessions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfilerSessions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfilerSessions without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - ]; - client.innerApiCalls.listProfilerSessions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listProfilerSessions( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProfilerSessions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfilerSessions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfilerSessions with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listProfilerSessions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listProfilerSessions(request), expectedError); - const actualRequest = (client.innerApiCalls.listProfilerSessions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfilerSessions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfilerSessionsStream without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - ]; - client.descriptors.page.listProfilerSessions.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listProfilerSessionsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession) => { - 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.listProfilerSessions.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProfilerSessions, request)); - assert( - (client.descriptors.page.listProfilerSessions.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listProfilerSessionsStream with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listProfilerSessions.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listProfilerSessionsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listProfilerSessions.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProfilerSessions, request)); - assert( - (client.descriptors.page.listProfilerSessions.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProfilerSessions without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession()), - ]; - client.descriptors.page.listProfilerSessions.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[] = []; - const iterable = client.listProfilerSessionsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getMonitoredEvent with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getMonitoredEvent = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.getMonitoredEvent(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getMonitoredEvent with closed client', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.GetMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.getMonitoredEvent(request), expectedError); + }); + }); + + describe('createMachineLearningRun', () => { + it('invokes createMachineLearningRun without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createMachineLearningRun = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createMachineLearningRun(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createMachineLearningRun without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createMachineLearningRun = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createMachineLearningRun( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProfilerSessions with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listProfilerSessions.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listProfilerSessionsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('listProfileSessions', () => { - it('invokes listProfileSessions without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - ]; - client.innerApiCalls.listProfileSessions = stubSimpleCall(expectedResponse); - const [response] = await client.listProfileSessions(request); - assert(stub.calledOnce); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProfileSessions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfileSessions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfileSessions without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - ]; - client.innerApiCalls.listProfileSessions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listProfileSessions( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert(stub.calledOnce); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProfileSessions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfileSessions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfileSessions with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listProfileSessions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listProfileSessions(request), expectedError); - assert(stub.calledOnce); - const actualRequest = (client.innerApiCalls.listProfileSessions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProfileSessions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProfileSessionsStream without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - ]; - client.descriptors.page.listProfileSessions.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listProfileSessionsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert(stub.calledOnce); - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listProfileSessions.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProfileSessions, request)); - assert( - (client.descriptors.page.listProfileSessions.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listProfileSessionsStream with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listProfileSessions.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listProfileSessionsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert(stub.calledOnce); - assert((client.descriptors.page.listProfileSessions.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProfileSessions, request)); - assert( - (client.descriptors.page.listProfileSessions.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProfileSessions without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession()), - ]; - client.descriptors.page.listProfileSessions.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[] = []; - const iterable = client.listProfileSessionsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createMachineLearningRun with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createMachineLearningRun = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects( + client.createMachineLearningRun(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createMachineLearningRun with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMachineLearningRunRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createMachineLearningRun = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.createMachineLearningRun(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkCreateMachineLearningRunProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkCreateMachineLearningRunProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkCreateMachineLearningRunProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkCreateMachineLearningRunProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateMachineLearningRun', () => { + it('invokes updateMachineLearningRun without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest(), + ); + request.machineLearningRun ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', + ['machineLearningRun', 'name'], + ); + request.machineLearningRun.name = defaultValue1; + const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateMachineLearningRun = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateMachineLearningRun(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateMachineLearningRun without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest(), + ); + request.machineLearningRun ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', + ['machineLearningRun', 'name'], + ); + request.machineLearningRun.name = defaultValue1; + const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateMachineLearningRun = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateMachineLearningRun( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert(stub.calledOnce); - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listProfileSessions.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProfileSessions.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProfileSessions with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const stub = sinon.stub(client, 'warn'); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listProfileSessions.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listProfileSessionsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert(stub.calledOnce); - assert.deepStrictEqual( - (client.descriptors.page.listProfileSessions.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProfileSessions.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('listMonitoredEvents', () => { - it('invokes listMonitoredEvents without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - ]; - client.innerApiCalls.listMonitoredEvents = stubSimpleCall(expectedResponse); - const [response] = await client.listMonitoredEvents(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listMonitoredEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listMonitoredEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listMonitoredEvents without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - ]; - client.innerApiCalls.listMonitoredEvents = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listMonitoredEvents( - request, - (err?: Error|null, result?: protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listMonitoredEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listMonitoredEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listMonitoredEvents with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.innerApiCalls.listMonitoredEvents = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listMonitoredEvents(request), expectedError); - const actualRequest = (client.innerApiCalls.listMonitoredEvents as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listMonitoredEvents as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listMonitoredEventsStream without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - ]; - client.descriptors.page.listMonitoredEvents.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listMonitoredEventsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent) => { - 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.listMonitoredEvents.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listMonitoredEvents, request)); - assert( - (client.descriptors.page.listMonitoredEvents.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listMonitoredEventsStream with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listMonitoredEvents.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listMonitoredEventsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent[] = []; - stream.on('data', (response: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listMonitoredEvents.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listMonitoredEvents, request)); - assert( - (client.descriptors.page.listMonitoredEvents.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listMonitoredEvents without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - generateSampleMessage(new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent()), - ]; - client.descriptors.page.listMonitoredEvents.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[] = []; - const iterable = client.listMonitoredEventsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateMachineLearningRun with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest(), + ); + request.machineLearningRun ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', + ['machineLearningRun', 'name'], + ); + request.machineLearningRun.name = defaultValue1; + const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateMachineLearningRun = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects( + client.updateMachineLearningRun(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateMachineLearningRun with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest(), + ); + request.machineLearningRun ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMachineLearningRunRequest', + ['machineLearningRun', 'name'], + ); + request.machineLearningRun.name = defaultValue1; + const expectedHeaderRequestParams = `machine_learning_run.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateMachineLearningRun = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.updateMachineLearningRun(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkUpdateMachineLearningRunProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkUpdateMachineLearningRunProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkUpdateMachineLearningRunProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkUpdateMachineLearningRunProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteMachineLearningRun', () => { + it('invokes deleteMachineLearningRun without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteMachineLearningRun = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteMachineLearningRun(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteMachineLearningRun without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteMachineLearningRun = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteMachineLearningRun( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listMonitoredEvents with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`; - const expectedError = new Error('expected'); - client.descriptors.page.listMonitoredEvents.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listMonitoredEventsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - describe('getLocation', () => { - it('invokes getLocation without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = stubSimpleCall(expectedResponse); - const response = await client.getLocation(request, expectedOptions); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - it('invokes getLocation without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedResponse = generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ); - client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getLocation( - request, - expectedOptions, - ( - err?: Error | null, - result?: LocationProtos.google.cloud.location.ILocation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0)); - }); - it('invokes getLocation with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.GetLocationRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; - const expectedError = new Error('expected'); - client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getLocation(request, expectedOptions), expectedError); - assert((client.locationsClient.getLocation as SinonStub) - .getCall(0).calledWith(request, expectedOptions, undefined)); - }); - }); - describe('listLocationsAsync', () => { - it('uses async iteration with listLocations without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedResponse = [ - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - generateSampleMessage( - new LocationProtos.google.cloud.location.Location() - ), - ]; - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - const iterable = client.listLocationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteMachineLearningRun with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteMachineLearningRun = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects( + client.deleteMachineLearningRun(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteMachineLearningRun with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMachineLearningRunRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteMachineLearningRun = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.deleteMachineLearningRun(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMachineLearningRun as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDeleteMachineLearningRunProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkDeleteMachineLearningRunProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteMachineLearningRunProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkDeleteMachineLearningRunProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('createProfilerTarget', () => { + it('invokes createProfilerTarget without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createProfilerTarget = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createProfilerTarget(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createProfilerTarget without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createProfilerTarget = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createProfilerTarget( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - it('uses async iteration with listLocations with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new LocationProtos.google.cloud.location.ListLocationsRequest() - ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedError = new Error('expected'); - client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listLocationsAsync(request); - await assert.rejects(async () => { - const responses: LocationProtos.google.cloud.location.ILocation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - describe('getOperation', () => { - it('invokes getOperation without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const response = await client.getOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes getOperation without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new operationsProtos.google.longrunning.Operation() - ); - client.operationsClient.getOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.getOperation( - request, - undefined, - ( - err?: Error | null, - result?: operationsProtos.google.longrunning.Operation | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0)); - }); - it('invokes getOperation with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.GetOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.getOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.getOperation(request)}, expectedError); - assert((client.operationsClient.getOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('cancelOperation', () => { - it('invokes cancelOperation without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = stubSimpleCall(expectedResponse); - const response = await client.cancelOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes cancelOperation without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.cancelOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.cancelOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0)); - }); - it('invokes cancelOperation with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.CancelOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.cancelOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.cancelOperation(request)}, expectedError); - assert((client.operationsClient.cancelOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('deleteOperation', () => { - it('invokes deleteOperation without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = stubSimpleCall(expectedResponse); - const response = await client.deleteOperation(request); - assert.deepStrictEqual(response, [expectedResponse]); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request) - ); - }); - it('invokes deleteOperation without error using callback', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.operationsClient.deleteOperation = sinon.stub().callsArgWith(2, null, expectedResponse); - const promise = new Promise((resolve, reject) => { - client.operationsClient.deleteOperation( - request, - undefined, - ( - err?: Error | null, - result?: protos.google.protobuf.Empty | null - ) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }).catch(err => {throw err}); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0)); - }); - it('invokes deleteOperation with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.DeleteOperationRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.deleteOperation = stubSimpleCall(undefined, expectedError); - await assert.rejects(async () => {await client.deleteOperation(request)}, expectedError); - assert((client.operationsClient.deleteOperation as SinonStub) - .getCall(0).calledWith(request)); - }); - }); - describe('listOperationsAsync', () => { - it('uses async iteration with listOperations without error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedResponse = [ - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsResponse() - ), - ]; - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: operationsProtos.google.longrunning.IOperation[] = []; - const iterable = client.operationsClient.listOperationsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createProfilerTarget with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createProfilerTarget = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.createProfilerTarget(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createProfilerTarget with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerTargetRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createProfilerTarget = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.createProfilerTarget(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerTarget as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkCreateProfilerTargetProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkCreateProfilerTargetProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkCreateProfilerTargetProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkCreateProfilerTargetProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('createProfilerSession', () => { + it('invokes createProfilerSession without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createProfilerSession = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createProfilerSession(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createProfilerSession without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createProfilerSession = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createProfilerSession( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); - it('uses async iteration with listOperations with error', async () => { - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - const request = generateSampleMessage( - new operationsProtos.google.longrunning.ListOperationsRequest() - ); - const expectedError = new Error('expected'); - client.operationsClient.descriptor.listOperations.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.operationsClient.listOperationsAsync(request); - await assert.rejects(async () => { - const responses: operationsProtos.google.longrunning.IOperation[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.operationsClient.descriptor.listOperations.asyncIterate as SinonStub) - .getCall(0).args[1], request); - }); + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); - describe('Path templates', () => { + it('invokes createProfilerSession with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createProfilerSession = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects( + client.createProfilerSession(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('cluster', async () => { - const fakePath = "/rendered/path/cluster"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - cluster: "clusterValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.clusterPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.clusterPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('clusterPath', () => { - const result = client.clusterPath("projectValue", "locationValue", "clusterValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.clusterPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes createProfilerSession with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateProfilerSessionRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createProfilerSession = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.createProfilerSession(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProfilerSession as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromClusterName', () => { - const result = client.matchProjectFromClusterName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkCreateProfilerSessionProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkCreateProfilerSessionProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchLocationFromClusterName', () => { - const result = client.matchLocationFromClusterName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkCreateProfilerSessionProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkCreateProfilerSessionProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('createMonitoredEvent', () => { + it('invokes createMonitoredEvent without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createMonitoredEvent = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createMonitoredEvent(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchClusterFromClusterName', () => { - const result = client.matchClusterFromClusterName(fakePath); - assert.strictEqual(result, "clusterValue"); - assert((client.pathTemplates.clusterPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes createMonitoredEvent without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.createMonitoredEvent = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createMonitoredEvent( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('location', async () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('invokes createMonitoredEvent with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createMonitoredEvent = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.createMonitoredEvent(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes createMonitoredEvent with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.CreateMonitoredEventRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createMonitoredEvent = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.createMonitoredEvent(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes checkCreateMonitoredEventProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkCreateMonitoredEventProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - describe('machineLearningRun', async () => { - const fakePath = "/rendered/path/machineLearningRun"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.machineLearningRunPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.machineLearningRunPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('machineLearningRunPath', () => { - const result = client.machineLearningRunPath("projectValue", "locationValue", "machineLearningRunValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.machineLearningRunPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes checkCreateMonitoredEventProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkCreateMonitoredEventProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateMonitoredEvent', () => { + it('invokes updateMonitoredEvent without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest(), + ); + request.monitoredEvent ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', + ['monitoredEvent', 'name'], + ); + request.monitoredEvent.name = defaultValue1; + const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateMonitoredEvent = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateMonitoredEvent(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromMachineLearningRunName', () => { - const result = client.matchProjectFromMachineLearningRunName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.machineLearningRunPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateMonitoredEvent without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest(), + ); + request.monitoredEvent ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', + ['monitoredEvent', 'name'], + ); + request.monitoredEvent.name = defaultValue1; + const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.updateMonitoredEvent = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateMonitoredEvent( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromMachineLearningRunName', () => { - const result = client.matchLocationFromMachineLearningRunName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.machineLearningRunPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes updateMonitoredEvent with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest(), + ); + request.monitoredEvent ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', + ['monitoredEvent', 'name'], + ); + request.monitoredEvent.name = defaultValue1; + const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateMonitoredEvent = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.updateMonitoredEvent(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchMachineLearningRunFromMachineLearningRunName', () => { - const result = client.matchMachineLearningRunFromMachineLearningRunName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.machineLearningRunPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes updateMonitoredEvent with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest(), + ); + request.monitoredEvent ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.UpdateMonitoredEventRequest', + ['monitoredEvent', 'name'], + ); + request.monitoredEvent.name = defaultValue1; + const expectedHeaderRequestParams = `monitored_event.name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateMonitoredEvent = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.updateMonitoredEvent(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('monitoredEvent', async () => { - const fakePath = "/rendered/path/monitoredEvent"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - monitored_event: "monitoredEventValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.monitoredEventPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.monitoredEventPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('monitoredEventPath', () => { - const result = client.monitoredEventPath("projectValue", "locationValue", "machineLearningRunValue", "monitoredEventValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.monitoredEventPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes checkUpdateMonitoredEventProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkUpdateMonitoredEventProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchProjectFromMonitoredEventName', () => { - const result = client.matchProjectFromMonitoredEventName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkUpdateMonitoredEventProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkUpdateMonitoredEventProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteMonitoredEvent', () => { + it('invokes deleteMonitoredEvent without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteMonitoredEvent = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteMonitoredEvent(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromMonitoredEventName', () => { - const result = client.matchLocationFromMonitoredEventName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteMonitoredEvent without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation(), + ); + client.innerApiCalls.deleteMonitoredEvent = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteMonitoredEvent( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + > | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.hypercomputecluster.v1alpha.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchMachineLearningRunFromMonitoredEventName', () => { - const result = client.matchMachineLearningRunFromMonitoredEventName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes deleteMonitoredEvent with call error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteMonitoredEvent = stubLongRunningCall( + undefined, + expectedError, + ); + await assert.rejects(client.deleteMonitoredEvent(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchMonitoredEventFromMonitoredEventName', () => { - const result = client.matchMonitoredEventFromMonitoredEventName(fakePath); - assert.strictEqual(result, "monitoredEventValue"); - assert((client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes deleteMonitoredEvent with LRO error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.DeleteMonitoredEventRequest', + ['name'], + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteMonitoredEvent = stubLongRunningCall( + undefined, + undefined, + expectedError, + ); + const [operation] = await client.deleteMonitoredEvent(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteMonitoredEvent as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('node', async () => { - const fakePath = "/rendered/path/node"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - cluster: "clusterValue", - node: "nodeValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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", "clusterValue", "nodeValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.nodePathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes checkDeleteMonitoredEventProgress without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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.checkDeleteMonitoredEventProgress( + expectedResponse.name, + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); - it('matchProjectFromNodeName', () => { - const result = client.matchProjectFromNodeName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes checkDeleteMonitoredEventProgress with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.checkDeleteMonitoredEventProgress(''), + expectedError, + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listMachineLearningRuns', () => { + it('invokes listMachineLearningRuns without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + ]; + client.innerApiCalls.listMachineLearningRuns = + stubSimpleCall(expectedResponse); + const [response] = await client.listMachineLearningRuns(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listMachineLearningRuns as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listMachineLearningRuns as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchLocationFromNodeName', () => { - const result = client.matchLocationFromNodeName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listMachineLearningRuns without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + ]; + client.innerApiCalls.listMachineLearningRuns = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listMachineLearningRuns( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listMachineLearningRuns as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listMachineLearningRuns as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchClusterFromNodeName', () => { - const result = client.matchClusterFromNodeName(fakePath); - assert.strictEqual(result, "clusterValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listMachineLearningRuns with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listMachineLearningRuns = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.listMachineLearningRuns(request), + expectedError, + ); + const actualRequest = ( + client.innerApiCalls.listMachineLearningRuns as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listMachineLearningRuns as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchNodeFromNodeName', () => { - const result = client.matchNodeFromNodeName(fakePath); - assert.strictEqual(result, "nodeValue"); - assert((client.pathTemplates.nodePathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes listMachineLearningRunsStream without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + ]; + client.descriptors.page.listMachineLearningRuns.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listMachineLearningRunsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun, + ) => { + 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.listMachineLearningRuns + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listMachineLearningRuns, request), + ); + assert( + ( + client.descriptors.page.listMachineLearningRuns + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - describe('profileSession', async () => { - const fakePath = "/rendered/path/profileSession"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - profile_session: "profileSessionValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.profileSessionPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.profileSessionPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('profileSessionPath', () => { - const result = client.profileSessionPath("projectValue", "locationValue", "machineLearningRunValue", "profileSessionValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.profileSessionPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes listMachineLearningRunsStream with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listMachineLearningRuns.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listMachineLearningRunsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + ( + client.descriptors.page.listMachineLearningRuns + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listMachineLearningRuns, request), + ); + assert( + ( + client.descriptors.page.listMachineLearningRuns + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('matchProjectFromProfileSessionName', () => { - const result = client.matchProjectFromProfileSessionName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('uses async iteration with listMachineLearningRuns without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MachineLearningRun(), + ), + ]; + client.descriptors.page.listMachineLearningRuns.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[] = + []; + const iterable = client.listMachineLearningRunsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listMachineLearningRuns + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.descriptors.page.listMachineLearningRuns + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); - it('matchLocationFromProfileSessionName', () => { - const result = client.matchLocationFromProfileSessionName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('uses async iteration with listMachineLearningRuns with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMachineLearningRunsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listMachineLearningRuns.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listMachineLearningRunsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMachineLearningRun[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listMachineLearningRuns + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.descriptors.page.listMachineLearningRuns + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + + describe('listProfilerTargets', () => { + it('invokes listProfilerTargets without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + ]; + client.innerApiCalls.listProfilerTargets = + stubSimpleCall(expectedResponse); + const [response] = await client.listProfilerTargets(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listProfilerTargets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfilerTargets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchMachineLearningRunFromProfileSessionName', () => { - const result = client.matchMachineLearningRunFromProfileSessionName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listProfilerTargets without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + ]; + client.innerApiCalls.listProfilerTargets = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listProfilerTargets( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listProfilerTargets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfilerTargets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProfileSessionFromProfileSessionName', () => { - const result = client.matchProfileSessionFromProfileSessionName(fakePath); - assert.strictEqual(result, "profileSessionValue"); - assert((client.pathTemplates.profileSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes listProfilerTargets with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listProfilerTargets = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listProfilerTargets(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listProfilerTargets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfilerTargets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('profilerSession', async () => { - const fakePath = "/rendered/path/profilerSession"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - profiler_session: "profilerSessionValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.profilerSessionPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.profilerSessionPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('profilerSessionPath', () => { - const result = client.profilerSessionPath("projectValue", "locationValue", "machineLearningRunValue", "profilerSessionValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.profilerSessionPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes listProfilerTargetsStream without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + ]; + client.descriptors.page.listProfilerTargets.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listProfilerTargetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget, + ) => { + 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.listProfilerTargets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProfilerTargets, request), + ); + assert( + (client.descriptors.page.listProfilerTargets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchProjectFromProfilerSessionName', () => { - const result = client.matchProjectFromProfilerSessionName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listProfilerTargetsStream with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProfilerTargets.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listProfilerTargetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listProfilerTargets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProfilerTargets, request), + ); + assert( + (client.descriptors.page.listProfilerTargets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchLocationFromProfilerSessionName', () => { - const result = client.matchLocationFromProfilerSessionName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('uses async iteration with listProfilerTargets without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerTarget(), + ), + ]; + client.descriptors.page.listProfilerTargets.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[] = + []; + const iterable = client.listProfilerTargetsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchMachineLearningRunFromProfilerSessionName', () => { - const result = client.matchMachineLearningRunFromProfilerSessionName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('uses async iteration with listProfilerTargets with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerTargetsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProfilerTargets.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listProfilerTargetsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerTarget[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listProfilerTargets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listProfilerSessions', () => { + it('invokes listProfilerSessions without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + ]; + client.innerApiCalls.listProfilerSessions = + stubSimpleCall(expectedResponse); + const [response] = await client.listProfilerSessions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listProfilerSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfilerSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProfilerSessionFromProfilerSessionName', () => { - const result = client.matchProfilerSessionFromProfilerSessionName(fakePath); - assert.strictEqual(result, "profilerSessionValue"); - assert((client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes listProfilerSessions without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + ]; + client.innerApiCalls.listProfilerSessions = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listProfilerSessions( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listProfilerSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfilerSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('profilerTarget', async () => { - const fakePath = "/rendered/path/profilerTarget"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - machine_learning_run: "machineLearningRunValue", - profiler_target: "profilerTargetValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await client.initialize(); - client.pathTemplates.profilerTargetPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.profilerTargetPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('profilerTargetPath', () => { - const result = client.profilerTargetPath("projectValue", "locationValue", "machineLearningRunValue", "profilerTargetValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.profilerTargetPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); + it('invokes listProfilerSessions with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listProfilerSessions = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listProfilerSessions(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listProfilerSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfilerSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromProfilerTargetName', () => { - const result = client.matchProjectFromProfilerTargetName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listProfilerSessionsStream without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + ]; + client.descriptors.page.listProfilerSessions.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listProfilerSessionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession, + ) => { + 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.listProfilerSessions.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProfilerSessions, request), + ); + assert( + (client.descriptors.page.listProfilerSessions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchLocationFromProfilerTargetName', () => { - const result = client.matchLocationFromProfilerTargetName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('invokes listProfilerSessionsStream with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProfilerSessions.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listProfilerSessionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listProfilerSessions.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProfilerSessions, request), + ); + assert( + (client.descriptors.page.listProfilerSessions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchMachineLearningRunFromProfilerTargetName', () => { - const result = client.matchMachineLearningRunFromProfilerTargetName(fakePath); - assert.strictEqual(result, "machineLearningRunValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); + it('uses async iteration with listProfilerSessions without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfilerSession(), + ), + ]; + client.descriptors.page.listProfilerSessions.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[] = + []; + const iterable = client.listProfilerSessionsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); - it('matchProfilerTargetFromProfilerTargetName', () => { - const result = client.matchProfilerTargetFromProfilerTargetName(fakePath); - assert.strictEqual(result, "profilerTargetValue"); - assert((client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('uses async iteration with listProfilerSessions with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfilerSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProfilerSessions.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listProfilerSessionsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfilerSession[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listProfilerSessions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listProfileSessions', () => { + it('invokes listProfileSessions without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + ]; + client.innerApiCalls.listProfileSessions = + stubSimpleCall(expectedResponse); + const [response] = await client.listProfileSessions(request); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listProfileSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfileSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - describe('project', async () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - await 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('invokes listProfileSessions without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + ]; + client.innerApiCalls.listProfileSessions = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listProfileSessions( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listProfileSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfileSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); - it('matchProjectFromProjectName', () => { - const result = client.matchProjectFromProjectName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.projectPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); + it('invokes listProfileSessions with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listProfileSessions = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listProfileSessions(request), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.listProfileSessions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProfileSessions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listProfileSessionsStream without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + ]; + client.descriptors.page.listProfileSessions.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listProfileSessionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert(stub.calledOnce); + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProfileSessions.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProfileSessions, request), + ); + assert( + (client.descriptors.page.listProfileSessions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('invokes listProfileSessionsStream with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProfileSessions.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listProfileSessionsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert(stub.calledOnce); + assert( + (client.descriptors.page.listProfileSessions.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProfileSessions, request), + ); + assert( + (client.descriptors.page.listProfileSessions.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listProfileSessions without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ProfileSession(), + ), + ]; + client.descriptors.page.listProfileSessions.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[] = + []; + const iterable = client.listProfileSessionsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert(stub.calledOnce); + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listProfileSessions.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listProfileSessions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listProfileSessions with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListProfileSessionsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProfileSessions.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listProfileSessionsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IProfileSession[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert(stub.calledOnce); + assert.deepStrictEqual( + ( + client.descriptors.page.listProfileSessions.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listProfileSessions.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + + describe('listMonitoredEvents', () => { + it('invokes listMonitoredEvents without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + ]; + client.innerApiCalls.listMonitoredEvents = + stubSimpleCall(expectedResponse); + const [response] = await client.listMonitoredEvents(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listMonitoredEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listMonitoredEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listMonitoredEvents without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + ]; + client.innerApiCalls.listMonitoredEvents = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listMonitoredEvents( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[] + | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listMonitoredEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listMonitoredEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listMonitoredEvents with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listMonitoredEvents = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.listMonitoredEvents(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listMonitoredEvents as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listMonitoredEvents as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listMonitoredEventsStream without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + ]; + client.descriptors.page.listMonitoredEvents.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listMonitoredEventsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent, + ) => { + 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.listMonitoredEvents.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listMonitoredEvents, request), + ); + assert( + (client.descriptors.page.listMonitoredEvents.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('invokes listMonitoredEventsStream with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listMonitoredEvents.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listMonitoredEventsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent, + ) => { + responses.push(response); + }, + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listMonitoredEvents.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listMonitoredEvents, request), + ); + assert( + (client.descriptors.page.listMonitoredEvents.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listMonitoredEvents without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.MonitoredEvent(), + ), + ]; + client.descriptors.page.listMonitoredEvents.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[] = + []; + const iterable = client.listMonitoredEventsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + + it('uses async iteration with listMonitoredEvents with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest(), + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.hypercomputecluster.v1alpha.ListMonitoredEventsRequest', + ['parent'], + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`; + const expectedError = new Error('expected'); + client.descriptors.page.listMonitoredEvents.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listMonitoredEventsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.hypercomputecluster.v1alpha.IMonitoredEvent[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + (client.descriptors.page.listMonitoredEvents.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers[ + 'x-goog-request-params' + ].includes(expectedHeaderRequestParams), + ); + }); + }); + describe('getLocation', () => { + it('invokes getLocation without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = stubSimpleCall(expectedResponse); + const response = await client.getLocation(request, expectedOptions); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + it('invokes getLocation without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ); + client.locationsClient.getLocation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getLocation( + request, + expectedOptions, + ( + err?: Error | null, + result?: LocationProtos.google.cloud.location.ILocation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.locationsClient.getLocation as SinonStub).getCall(0)); + }); + it('invokes getLocation with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.GetLocationRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.locationsClient.getLocation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects( + client.getLocation(request, expectedOptions), + expectedError, + ); + assert( + (client.locationsClient.getLocation as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined), + ); + }); + }); + describe('listLocationsAsync', () => { + it('uses async iteration with listLocations without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + generateSampleMessage( + new LocationProtos.google.cloud.location.Location(), + ), + ]; + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + const iterable = client.listLocationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + it('uses async iteration with listLocations with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new LocationProtos.google.cloud.location.ListLocationsRequest(), + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.locationsClient.descriptors.page.listLocations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listLocationsAsync(request); + await assert.rejects(async () => { + const responses: LocationProtos.google.cloud.location.ILocation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + assert( + ( + client.locationsClient.descriptors.page.listLocations + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams, + ), + ); + }); + }); + describe('getOperation', () => { + it('invokes getOperation without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const response = await client.getOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes getOperation without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation(), + ); + client.operationsClient.getOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .getOperation( + request, + undefined, + ( + err?: Error | null, + result?: operationsProtos.google.longrunning.Operation | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + it('invokes getOperation with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.GetOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.getOperation(request); + }, expectedError); + assert( + (client.operationsClient.getOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('cancelOperation', () => { + it('invokes cancelOperation without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = + stubSimpleCall(expectedResponse); + const response = await client.cancelOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes cancelOperation without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.cancelOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .cancelOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.cancelOperation as SinonStub).getCall(0)); + }); + it('invokes cancelOperation with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.CancelOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.cancelOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.cancelOperation(request); + }, expectedError); + assert( + (client.operationsClient.cancelOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('deleteOperation', () => { + it('invokes deleteOperation without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = + stubSimpleCall(expectedResponse); + const response = await client.deleteOperation(request); + assert.deepStrictEqual(response, [expectedResponse]); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + it('invokes deleteOperation without error using callback', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty(), + ); + client.operationsClient.deleteOperation = sinon + .stub() + .callsArgWith(2, null, expectedResponse); + const promise = new Promise((resolve, reject) => { + client.operationsClient + .deleteOperation( + request, + undefined, + ( + err?: Error | null, + result?: protos.google.protobuf.Empty | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ) + .catch((err) => { + throw err; + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert((client.operationsClient.deleteOperation as SinonStub).getCall(0)); + }); + it('invokes deleteOperation with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.DeleteOperationRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.deleteOperation = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(async () => { + await client.deleteOperation(request); + }, expectedError); + assert( + (client.operationsClient.deleteOperation as SinonStub) + .getCall(0) + .calledWith(request), + ); + }); + }); + describe('listOperationsAsync', () => { + it('uses async iteration with listOperations without error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedResponse = [ + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsResponse(), + ), + ]; + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: operationsProtos.google.longrunning.IOperation[] = []; + const iterable = client.operationsClient.listOperationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + it('uses async iteration with listOperations with error', async () => { + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new operationsProtos.google.longrunning.ListOperationsRequest(), + ); + const expectedError = new Error('expected'); + client.operationsClient.descriptor.listOperations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.operationsClient.listOperationsAsync(request); + await assert.rejects(async () => { + const responses: operationsProtos.google.longrunning.IOperation[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.operationsClient.descriptor.listOperations + .asyncIterate as SinonStub + ).getCall(0).args[1], + request, + ); + }); + }); + + describe('Path templates', () => { + describe('cluster', async () => { + const fakePath = '/rendered/path/cluster'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + cluster: 'clusterValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.clusterPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.clusterPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('clusterPath', () => { + const result = client.clusterPath( + 'projectValue', + 'locationValue', + 'clusterValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.clusterPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromClusterName', () => { + const result = client.matchProjectFromClusterName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromClusterName', () => { + const result = client.matchLocationFromClusterName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchClusterFromClusterName', () => { + const result = client.matchClusterFromClusterName(fakePath); + assert.strictEqual(result, 'clusterValue'); + assert( + (client.pathTemplates.clusterPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('location', async () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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('machineLearningRun', async () => { + const fakePath = '/rendered/path/machineLearningRun'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.machineLearningRunPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.machineLearningRunPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('machineLearningRunPath', () => { + const result = client.machineLearningRunPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + ); + assert.strictEqual(result, fakePath); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .render as SinonStub + ) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromMachineLearningRunName', () => { + const result = client.matchProjectFromMachineLearningRunName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromMachineLearningRunName', () => { + const result = client.matchLocationFromMachineLearningRunName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromMachineLearningRunName', () => { + const result = + client.matchMachineLearningRunFromMachineLearningRunName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + ( + client.pathTemplates.machineLearningRunPathTemplate + .match as SinonStub + ) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('monitoredEvent', async () => { + const fakePath = '/rendered/path/monitoredEvent'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + monitored_event: 'monitoredEventValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.monitoredEventPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.monitoredEventPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('monitoredEventPath', () => { + const result = client.monitoredEventPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'monitoredEventValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.monitoredEventPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromMonitoredEventName', () => { + const result = client.matchProjectFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromMonitoredEventName', () => { + const result = client.matchLocationFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromMonitoredEventName', () => { + const result = + client.matchMachineLearningRunFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMonitoredEventFromMonitoredEventName', () => { + const result = + client.matchMonitoredEventFromMonitoredEventName(fakePath); + assert.strictEqual(result, 'monitoredEventValue'); + assert( + (client.pathTemplates.monitoredEventPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('node', async () => { + const fakePath = '/rendered/path/node'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + cluster: 'clusterValue', + node: 'nodeValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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', + 'clusterValue', + '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('matchClusterFromNodeName', () => { + const result = client.matchClusterFromNodeName(fakePath); + assert.strictEqual(result, 'clusterValue'); + 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('profileSession', async () => { + const fakePath = '/rendered/path/profileSession'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + profile_session: 'profileSessionValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.profileSessionPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.profileSessionPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('profileSessionPath', () => { + const result = client.profileSessionPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'profileSessionValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.profileSessionPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromProfileSessionName', () => { + const result = client.matchProjectFromProfileSessionName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromProfileSessionName', () => { + const result = client.matchLocationFromProfileSessionName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromProfileSessionName', () => { + const result = + client.matchMachineLearningRunFromProfileSessionName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchProfileSessionFromProfileSessionName', () => { + const result = + client.matchProfileSessionFromProfileSessionName(fakePath); + assert.strictEqual(result, 'profileSessionValue'); + assert( + (client.pathTemplates.profileSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('profilerSession', async () => { + const fakePath = '/rendered/path/profilerSession'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + profiler_session: 'profilerSessionValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.profilerSessionPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.profilerSessionPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('profilerSessionPath', () => { + const result = client.profilerSessionPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'profilerSessionValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.profilerSessionPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromProfilerSessionName', () => { + const result = client.matchProjectFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromProfilerSessionName', () => { + const result = client.matchLocationFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromProfilerSessionName', () => { + const result = + client.matchMachineLearningRunFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchProfilerSessionFromProfilerSessionName', () => { + const result = + client.matchProfilerSessionFromProfilerSessionName(fakePath); + assert.strictEqual(result, 'profilerSessionValue'); + assert( + (client.pathTemplates.profilerSessionPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('profilerTarget', async () => { + const fakePath = '/rendered/path/profilerTarget'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + machine_learning_run: 'machineLearningRunValue', + profiler_target: 'profilerTargetValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.profilerTargetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.profilerTargetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('profilerTargetPath', () => { + const result = client.profilerTargetPath( + 'projectValue', + 'locationValue', + 'machineLearningRunValue', + 'profilerTargetValue', + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.profilerTargetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchProjectFromProfilerTargetName', () => { + const result = client.matchProjectFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchLocationFromProfilerTargetName', () => { + const result = client.matchLocationFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchMachineLearningRunFromProfilerTargetName', () => { + const result = + client.matchMachineLearningRunFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'machineLearningRunValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + + it('matchProfilerTargetFromProfilerTargetName', () => { + const result = + client.matchProfilerTargetFromProfilerTargetName(fakePath); + assert.strictEqual(result, 'profilerTargetValue'); + assert( + (client.pathTemplates.profilerTargetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + + describe('project', async () => { + const fakePath = '/rendered/path/project'; + const expectedParameters = { + project: 'projectValue', + }; + const client = + new machinelearningrunsModule.v1alpha.MachineLearningRunsClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await 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), + ); + }); }); + }); }); diff --git a/packages/google-cloud-hypercomputecluster/webpack.config.js b/packages/google-cloud-hypercomputecluster/webpack.config.js index cb75b8519f72..0ad64201ae58 100644 --- a/packages/google-cloud-hypercomputecluster/webpack.config.js +++ b/packages/google-cloud-hypercomputecluster/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2026 Google LLC +// 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.